Palabra clave MySQL INNER JOIN
Palabra clave MySQL INNER JOIN
La INNER JOIN
palabra clave selecciona registros que tienen valores coincidentes en ambas tablas.
Sintaxis de INNER JOIN
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
Base de datos de demostración
En este tutorial utilizaremos la conocida base de datos de ejemplo Northwind.
A continuación se muestra una selección de la tabla "Pedidos":
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10308 | 2 | 7 | 1996-09-18 | 3 |
10309 | 37 | 3 | 1996-09-19 | 1 |
10310 | 77 | 8 | 1996-09-20 | 2 |
Y una selección de la tabla "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. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
MySQL INNER JOIN Ejemplo
La siguiente instrucción SQL selecciona todos los pedidos con información del cliente:
Ejemplo
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN
Customers ON Orders.CustomerID = Customers.CustomerID;
Nota: La INNER JOIN
palabra clave selecciona todas las filas de ambas tablas siempre que haya una coincidencia entre las columnas. Si hay registros en la tabla "Pedidos" que no tienen coincidencias en "Clientes", ¡estos pedidos no se mostrarán!
ÚNETE Tres Mesas
La siguiente instrucción SQL selecciona todos los pedidos con información del cliente y del remitente:
Ejemplo
SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM
((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);