Resumen: en este tutorial, aprenderá a utilizar SQL Server FULL OUTER JOIN
para consultar datos de dos o más tablas.
Introducción a la combinación externa completa de SQL Server
El FULL OUTER JOIN
devuelve un conjunto de resultados que incluye filas de las tablas izquierda y derecha. Cuando no existen filas coincidentes para la fila en la tabla de la izquierda, las columnas de la tabla de la derecha tendrán nulos. De manera similar, cuando no existen filas coincidentes para la fila en la tabla de la derecha, la columna de la tabla de la izquierda tendrá nulos.
A continuación se muestra la sintaxis de FULL OUTER JOIN
al unir dos tablas T1
y T2
:
Code language: SQL (Structured Query Language) (sql)
La palabra clave OUTER
es opcional, por lo que puede omitirla como se muestra en la siguiente consulta:
Code language: SQL (Structured Query Language) (sql)
En esta sintaxis :
- Primero, especifique la tabla izquierda
T1
en la cláusulaFROM
. - Segundo, especifique la tabla derecha
T2
y un predicado de unión.
El siguiente diagrama de Venn ilustra el FULL OUTER JOIN
de dos conjuntos de resultados:
Ejemplo de combinación externa completa de SQL Server
Configuremos una tabla de muestra para demostrar la combinación externa completa.
Primero, cree una nueva esquema llamado pm
que significa administración de proyectos.
Code language: SQL (Structured Query Language) (sql)
A continuación, cree nuevas tablas llamadas projects
y members
en el esquema pm
:
Supongamos que cada miembro solo puede participar en un proyecto y cada proyecto tiene cero o más miembros. Si un proyecto está en la fase de idea, por lo tanto, no hay ningún miembro asignado.
Luego, inserte algunas filas en projects
y members
tablas:
Después de eso, consulta los datos de las tablas projects
y members
:
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Finalmente, utilice FULL OUTER JOIN
para consultar datos de las tablas projects
y members
:
Aquí está el resultado:
En este ejemplo, la consulta devolvió miembros que participan en proyectos, miembros que no participan en ningún proyecto y proyectos que no tienen ningún miembro.
Para encontrar los miembros que no participan en cualquier proyecto y proyectos w Si no tiene ningún miembro, agrega una cláusula WHERE
a la consulta anterior:
La siguiente imagen muestra el resultado:
Como se muestra claramente en el resultado, Jack Daniel
no participa en ningún proyecto y Develop Mobile Sales Platform
no tiene ningún miembro.
En este tutorial, ha aprendido a usar SQL Server completo externo unirse para consultar datos de dos o más tablas.