Tutoriales

unión externa SQL

No hace falta decir que los enlaces son una de las características más obvias de las bases de datos relacionales. Las uniones nos permiten combinar datos de una o más tablas en función de condiciones relacionadas para crear operaciones de datos consistentes.

Hay muchos tipos de combinaciones en SQL, cada una con una forma única de procesar datos en tablas participantes o conjuntos de resultados. Uno de los tipos de combinaciones más comunes en SQL es OUTER JOIN.

OUTER JOIN en SQL recupera todas las filas coincidentes de las tablas involucradas, así como las filas no coincidentes de una o ambas tablas. Resulta útil cuando se trata de tablas que contienen valores NULL o conjuntos faltantes.

Echemos un vistazo más de cerca a qué hacen estas conexiones, cómo funcionan y cómo usarlas en una base de datos SQL.

Requerir:

En este tutorial, usaremos MySQL 8.0 y usaremos la base de datos de muestra Sakila. Sin embargo, siéntase libre de utilizar cualquier otro conjunto de materiales que considere apropiado.

Tipo de unión exterior

Hay tres tipos principales de UNIONES EXTERNAS en SQL. Estos tipos de UNIONES EXTERIORES incluyen:

Publicaciones relacionadas
  1. izquierda combinación externa

  2. Para LEFT OUTER JOINS, la combinación recupera todas las filas de la tabla de la izquierda y solo las filas coincidentes de la tabla de la derecha. Si no hay ninguna fila coincidente en la tabla de la derecha, la conexión devuelve un valor NULL para la columna de la tabla de la derecha.

  3. unión exterior derecha

  4. Esto es similar a la UNIÓN EXTERIOR DERECHA. Sin embargo, recupera todas las filas de la tabla derecha pero solo las filas coincidentes de la tabla izquierda. Si no hay filas coincidentes en la tabla de la izquierda, la combinación incluirá valores NULL para las columnas de la tabla de la izquierda.

  5. unión externa completa

  6. Por último, tenemos una conectividad externa completa. Este tipo de unión combina uniones exteriores DERECHA e IZQUIERDA. Por lo tanto, la combinación recupera todas las filas cuando hay una coincidencia en la tabla izquierda o derecha. Si no hay coincidencias, la combinación devuelve valores NULL para las columnas de la tabla que no tienen coincidencias.

Sintaxis de unión externa de SQL

La sintaxis de SQL OUTER JOIN es la siguiente. Sin embargo, tenga en cuenta que la sintaxis puede variar ligeramente según el motor de base de datos de destino.

Aquí está la estructura general:

seleccionar columna
De la tabla 1
[LEFT | RIGHT | FULL] Tabla de unión exterior 2
ON tabla1.nombre_columna = tabla2.nombre_columna;

La sintaxis de OUTER JOIN en SQL se explica por sí misma.

ejemplo:

Echemos un vistazo a algunos ejemplos de uso para comprender cómo aplicar varios tipos de UNIONES EXTERNAS en SQL.

Como mencionamos, usaremos la base de datos de muestra de Sakila para demostración. En este ejemplo, utilizamos las tablas Clientes y Pagos.

Ejemplo 1: unión exterior izquierda

Comencemos con la UNIÓN EXTERNA. Supongamos que queremos recuperar toda la información del cliente y su información de pago (si corresponde).

Esto hace que sea aplicable una UNIÓN EXTERNA IZQUIERDA ya que necesitamos toda la información del cliente (lado izquierdo) y la información de pago (si está disponible) (lado derecho).

Si el cliente no ha realizado ningún pago, la unión mostrará valores NULL para las columnas relacionadas con el pago.

Los ejemplos son los siguientes:

elegir
c.id_cliente,
c.Nombre,
c.apellido,
p.cantidad,
p.Fecha de pago
de
Cliente c
UNIÓN EXTERIOR IZQUIERDA Pago p
existir
c.id_cliente = p.id_cliente;

En la consulta dada, incluimos los campos «customer_id», «first_name» y «last_name» de la tabla «cliente». También incluimos el monto y la Fecha de pago de la tabla Pagos.

Luego realizamos una UNIÓN EXTERNA IZQUIERDA entre las tablas «cliente» y «pago» según «customer_id».

Estos son todos los clientes (paguen o no) y sus datos de pago (si los hubiera).

El resultado de muestra es el siguiente:

Ejemplo 2: unión exterior derecha

Ahora, pasemos a la UNIÓN EXTERIOR DERECHA. Digamos que queremos incluir toda la información de pago y los clientes asociados (si los hay) en este ejemplo.

En este caso, si el cliente paga, el enlace mostrará los datos del cliente. Si no hay ningún pago asociado con el cliente, mostrará valores NULL para las columnas relacionadas con el cliente.

elegir
c.id_cliente,
c.Nombre,
c.apellido,
p.cantidad,
p.Fecha de pago
de
Cliente c
PAGO DE UNIÓN EXTERIOR DERECHO p
existir
c.id_cliente = p.id_cliente;

El conjunto de resultados es el siguiente:

Ejemplo 3: unión externa completa

Por otro lado, una conexión externa completa recupera toda la información y los pagos de los clientes. Esto incluye a todos los clientes y todos los pagos, y muestra valores NULL en caso de que las tablas no coincidan.

elegir
c.id_cliente,
c.Nombre,
c.apellido,
p.cantidad,
p.Fecha de pago
de
Cliente c
UNIÓN EXTERNA COMPLETA Alipay
existir
c.id_cliente = p.id_cliente;

Es bueno recordar que MySQL no admite de forma nativa FULL OUTER JOIN. Tienes que usar LEFT JOIN, UNION y RIGHT JOIN para hacer algo de magia de jujitsu. Molesto, podríamos añadir.

en conclusión

En este tutorial, aprendimos todo sobre las UNIONES EXTERNAS. Aprendimos qué es OUTER JOIN en SQL, los tipos de OUTER JOINS y ejemplos de cómo utilizar estos tipos de OUTER JOINS.

LEER  Administrar archivos usando la terminal

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba