SQL LEFT JOIN palabra clave
La izquierda JOIN devuelve la palabra clave todas las filas de la tabla izquierda (tabla 1), con las filas coincidentes en la tabla de la derecha (Tabla 2). El resultado es NULL en el lado derecho, cuando no hay ninguna coincidencia.
SQL LEFT JOIN sintaxis
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name ;
o:
SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name = table2.column_name ;
PS! En algunas bases de datos combinación izquierda se llama LEFT OUTER JOIN.
Base de datos de demostración
En este tutorial vamos a utilizar la base de datos Neptuno conocido.
A continuación se muestra una selección de la "Customers" tabla:
Identificación del cliente | Nombre del cliente | Nombre de contacto | Dirección | Ciudad | Código postal | País |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitucion 2222 | Mexico D.F. | 05021 | Mexico |
3 | Antonio Moreno Taqueria | Antonio Moreno | Mataderos 2312 | Mexico D.F. | 05023 | Mexico |
Y una selección de la "Orders" tabla:
Solicitar ID | Identificación del cliente | ID de empleado | Fecha de orden | IdDestinatario |
---|---|---|---|---|
10308 | 2 | 7 | 1996-09-18 | 3 |
10309 | 37 | 3 | 1996-09-19 | 1 |
10310 | 77 | 8 | 1996-09-20 | 2 |
SQL LEFT JOIN Ejemplo
La siguiente instrucción SQL devolverá todos los clientes, y cualquier orden que pueda tener:
Ejemplo
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
Inténtalo tú mismo " Nota: La palabra clave LEFT JOIN devuelve todas las filas de la tabla de la izquierda (clientes), incluso si no hay coincidencias en la tabla de la derecha (órdenes).