Tipos de combinaciones en SQL Server - Las 5 principales combinaciones en SQL Server con ejemplos

Tabla de contenido:

Anonim

Descripción general de los tipos de combinaciones en SQL Server

La cláusula Join, la palabra clave JOIN, combina varias tablas en un conjunto de resultados. La cláusula FROM tendrá que incluir todas las tablas. Separa cada tabla con una coma WHERE cláusula típicamente incluida.

Podemos poner la expresión booleana que devuelve verdadero o falso, y esas expresiones pueden referirse a columnas en todas las tablas.

Tipos de combinaciones en SQL Server

Existen diferentes tipos de uniones

  • CROSS JOIN
  • UNIR INTERNAMENTE
  • ÚNETE EXTERIOR
  1. IZQUIERDA COMBINACIÓN EXTERNA
  2. UNIÓN EXTERIOR DERECHA
  • UNIÓN EXTERIOR COMPLETA
  • SELF JOIN

Comprendamos cada una de estas uniones en detalle:

1) Cross Cross

  • Esta es la UNIÓN más simple
  • Devuelve todas las filas de ambas tablas.
  • No cláusula WHERE
  • Este es también el menos útil.
  • Es muy ineficiente
  • Crea un producto cartesiano
  • Palabra clave cruzada implícita

Ejemplo

Por lo tanto, todos los de la primera tabla con cada dato de la segunda tabla sin ningún intento de ningún tipo de coincidencia, por lo que esto es lo que no desea hacer.

Busque la cláusula FROM donde tiene varias tablas y no hay una cláusula WHERE.

2) unión interna

Consulta de salida:

Sus filas iniciales y últimas tienen valores de coordinación involucrados con C2. Las filas centrales generalmente no se encuentran. El último resultado final proporciona todos los valores a través de las filas iniciales y finales, pero no incluye esa fila de la sección central que no coincide.

  • Esto es lo más típico.
  • Esto enfatizó la naturaleza relacional de la base de datos.
  • Nos permite hacer coincidir el valor de la columna en una de las tablas con el valor de la columna en otra de las tablas.
  • La clave primaria en una de las tablas y una clave externa en una de las otras tablas.

Ejemplo

Aquí p.person_id es nuestra clave principal en nuestra tabla de personas,

email_address_person_id es nuestra clave externa en la tabla de direcciones de correo electrónico.

Echemos un vistazo a la tabla de personas.

Tenemos esas cuatro filas. Y luego todas las coincidencias dentro de la tabla de direcciones de correo electrónico.

Entonces, al final, deberíamos obtener tres personas porque tenemos a la persona Shannon que no tiene una dirección de correo electrónico

Salida de consulta:

Entonces solo obtenemos los datos donde hay una coincidencia entre las dos columnas en cada una de las tablas

3) Unión externa

  • INNER JOIN no trata con valores NULL
  • OUTER JOIN funciona incluso cuando no hay coincidencias en la segunda tabla.
  • Columnas NULL si no hay coincidencia en la segunda tabla
  • FULL OUTER JOIN devuelve todas las filas unidas
  • NULL cuando no hay coincidencia en ninguna de las tablas

a) Unión externa izquierda

Consulta de salida: Eres inicial y las últimas filas tienen valores de coordinación involucrados con C2. Las filas centrales generalmente no se encuentran. El último resultado final podría mantener todas las filas de la primera tabla, pero en realidad omitirá la fila no coincidente a través de la segunda tabla.

  • Otro JOIN relacionado con NULL
  • Se devolverán todas las filas del lado izquierdo.
  • NULL para la mesa lateral derecha no coincidente

Ejemplo

Salida de consulta:

Observa que hay una fila en la tabla Persona que no tiene valores en la tabla de direcciones de correo electrónico. Entonces, la IZQUIERDA EXTERIOR ÚNICA nos dará.

b) Unión externa derecha

Consulta de salida:

Eres inicial y las últimas filas tienen valores de coordinación involucrados con C2. Las filas centrales generalmente no se encuentran. El último resultado final podría mantener todas las filas de la segunda tabla, pero en realidad omitirá la fila no coincidente a través de la primera tabla.

  • Frente a IZQUIERDA EXTERIOR UNIRSE
  • Se devolverán todas las filas del lado derecho.
  • NULL para una mesa lateral izquierda que no coincide

Ejemplo Salida de consulta:

Obtenemos tres resultados. Aquí está nuestro resultado de DERECHA EXTERIOR UNIR donde tenemos la fila de la tabla de direcciones de correo electrónico que no tiene una fila correspondiente en la tabla de la derecha.

4) Unión externa completa

Ejemplo

Salida de consulta:

Podemos combinar el resultado de LEFT OUTER JOIN y RIGHT OUTER JOIN

5) Self Join

  • SELF no es una palabra clave. Es solo esta idea que puedes poner una mesa sobre sí mismo
  • Extraño pero a veces útil
  • Sin sintaxis especial
  • La misma tabla en el lado izquierdo y derecho de JOIN
  • Útil cuando una tabla contiene datos jerárquicos

Ejemplo

SELECCIONE *

DE los pedidos

ÚNETE a suscripciones

ON orders.subscription_id = subscriptions.subscription_id;

Obtenemos la tabla de pedidos y la tabla de suscripciones y nos unimos a la tabla usando SELECCIONAR todas las columnas.

Para obtener el resultado.

Conclusión:

Las uniones son la forma en que realmente hacemos que el modelo relacional cobre vida. El modelo relacional consiste en separar los datos, normalizarlos en varias tablas, pero poder volver a unirlos cuando queramos ver esas relaciones. Y los diferentes tipos de Uniones nos permiten hacer eso de maneras ligeramente diferentes.

Artículos recomendados

Esta ha sido una guía para los tipos de combinaciones en el servidor SQL. Aquí discutimos la descripción general y los tipos de combinaciones en SQL con sus ejemplos. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. ¿Qué es el servidor SQL?
  2. Carreras en SQL Server
  3. PL SQL Training
  4. Operadores MySQL
  5. Los 6 tipos principales de combinaciones en MySQL con ejemplos