Palabra clave SQL JOIN
❮ Referencia de palabras clave de SQL
UNIR INTERNAMENTE
El INNER JOIN
comando devuelve filas que tienen valores coincidentes en ambas tablas.
El siguiente 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 palabra clave INNER JOIN 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!
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);
UNIRSE A LA IZQUIERDA
El LEFT JOIN
comando devuelve todas las filas de la tabla de la izquierda y las filas coincidentes de la tabla de la derecha. El resultado es NULL desde el lado derecho, si no hay coincidencia.
El siguiente SQL seleccionará a todos los clientes y cualquier pedido que puedan tener:
Ejemplo
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
Nota: La LEFT JOIN
palabra clave devuelve todos los registros de la tabla de la izquierda (Clientes), incluso si no hay coincidencias en la tabla de la derecha (Pedidos).
UNIÓN DERECHA
El RIGHT JOIN
comando devuelve todas las filas de la tabla de la derecha y los registros coincidentes de la tabla de la izquierda. El resultado es NULL desde el lado izquierdo, cuando no hay coincidencia.
El siguiente SQL devolverá todos los empleados y cualquier pedido que hayan realizado:
Ejemplo
SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;
Nota: La RIGHT JOIN
palabra clave devuelve todos los registros de la tabla de la derecha (Empleados), incluso si no hay coincidencias en la tabla de la izquierda (Pedidos).
UNIÓN EXTERNA COMPLETA
El FULL OUTER JOIN
comando devuelve todas las filas cuando hay una coincidencia en la tabla de la izquierda o en la tabla de la derecha.
La siguiente instrucción SQL selecciona todos los clientes y todos los pedidos:
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
Nota: La FULL OUTER JOIN
palabra clave devuelve todas las filas de la tabla de la izquierda (Clientes) y todas las filas de la tabla de la derecha (Pedidos). Si hay filas en "Clientes" que no tienen coincidencias en "Pedidos", o si hay filas en "Pedidos" que no tienen coincidencias en "Clientes", esas filas también se mostrarán.
❮ Referencia de palabras clave de SQL