La expresión JOIN se utiliza para unir filas de dos o más tablas en función de una columna relacionada entre ellas.
Veamos un ejemplo de la tabla "Orders" ("Pedidos"):
ProductID | OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|---|
1 | 10248 | 90 | 5 | 1996-07-04 | 3 |
2 | 10249 | 81 | 6 | 1996-07-05 | 1 |
3 | 10250 | 34 | 4 | 1996-07-08 | 2 |
Luego mire el ejemplo de la tabla "Customers" ("Clientes"):
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 5021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 5023 | Mexico |
Tenga en cuenta que la columna "CustomerID" en la tabla "Orders" hace referencia a "CustomerID" en la tabla "Customers". La relación entre las dos tablas anteriores es la columna "CustomerID".
Luego podemos crear la siguiente declaración SQL (que contiene INNER JOIN) que selecciona registros que tienen valores coincidentes en ambas tablas:
Run SQLSELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID
y esto producirá algo como esto:
OrderID | CustomerName | OrderDate |
---|---|---|
10308 | Ana Trujillo Emparedados y helados | 1996-09-18 |
10365 | Antonio Moreno Taquería | 1996-11-27 |
10355 | Around the Horn | 1996-11-15 |
10383 | Around the Horn | 1996-12-16 |
10289 | B's Beverages | 1996-08-26 |
Estos son los diferentes tipos de JOIN en SQL: