TOP

SQL FULL OUTER JOIN Palabra clave

SQL FULL OUTER JOIN Descripción

La palabra clave FULL OUTER JOIN devuelve todos los registros si hay una coincidencia en los registros izquierdo (tabla1) o derecho (tabla2) de la tabla.


Las instrucciones FULL OUTER JOIN y FULL JOIN son las mismas.

FULL OUTER JOIN Sintaxis

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition

SQL FULL JOIN

Base de datos de demostración

En este tutorial usaremos la famosa base de datos de ejemplo "Northwind".

A continuación se muestra un ejemplo de la tabla "Customers" ("Clientes"):

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.5021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.5023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

Y el ejemplo de la tabla "Orders" ("Pedidos"):

ProductIDOrderIDCustomerIDEmployeeIDOrderDateShipperID
1102489051996-07-043
2102498161996-07-051
3102503441996-07-082
4102518431996-07-081
5102527641996-07-092

SQL FULL OUTER JOIN Ejemplo

La siguiente declaración SQL selecciona todos los clientes y todos los pedidos:

Run SQLSELECT Customers.CustomerName, Orders.OrderID 
FROM Customers 
FULL OUTER JOIN Orders ON Customers.CustomerID = Orders.CustomerID 
ORDER BY Customers.CustomerName

Una muestra del conjunto de resultados podría verse así:

CustomerName OrderID
Null 10309
Null 10310
Alfreds Futterkiste Null
Ana Trujillo Emparedados y helados 10308
Antonio Moreno Taquería Null
La palabra clave FULL OUTER JOIN devuelve todos los registros coincidentes de ambas tablas, independientemente de si la otra tabla coincide o no. Entonces, si hay filas en "Customers" ("Clientes") que no tienen coincidencias en "Orders" ("Pedidos"), o si hay filas en "Pedidos" que no tienen coincidencias en "Clientes", esas filas también son será listado.