Saltar al contenido

INTERIOR, IZQUIERDA, DERECHA, FUERA

Podemos recuperar datos de más de una tabla usando la instrucción JOIN. SQL Server tiene 4 tipos de articulaciones:

  • ÚNETE INNER / unión simple
  • UNIÓN EXTERIOR IZQUIERDA / UNIÓN IZQUIERDA
  • CANCIÓN FUERA / DERECHA DERECHA
  • TOTAL SOLAMENTE

UNIR INTERNAMENTE

Este tipo de JOIN devuelve filas de cada tabla en la que la condición de unión es verdadera. Asume la siguiente sintaxis:

SELECT columns
FROM table_1 
INNER JOIN table_2
ON table_1.column = table_2.column;

Usaremos las siguientes dos tablas para mostrar esto:

Mesa de estudiantes:

Tabla de tarifas:

El siguiente comando muestra INNER JOIN:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
INNER JOIN Fee
ON Students.admission = Fee.admission

El pedido envía lo siguiente:

Podemos decirle a los estudiantes que pagaron su tarifa. Usamos la columna con valores iguales en ambas tablas, que es la columna de entrada.

IZQUIERDA COMBINACIÓN EXTERNA

Este tipo de unión devolverá todas las filas de la tabla de la izquierda más los registros de la tabla de la derecha con valores coincidentes. Por ejemplo:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
LEFT OUTER JOIN Fee
ON Students.admission = Fee.admission

El código envía lo siguiente:

Los NULL reemplazan los registros sin valores coincidentes en las columnas respectivas.

DERECHO HACIA FUERA

Este tipo de unión devuelve todas las filas de la tabla de la derecha y solo aquellas con valores coincidentes en la tabla de la izquierda. Por ejemplo:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
RIGHT OUTER JOIN Fee
ON Students.admission = Fee.admission

La declaración envía lo siguiente:

El motivo del resultado anterior es que todas las filas de la tabla de tarifas están disponibles en la tabla de estudiantes cuando se comparan en la columna de entrada.

TOTAL SOLAMENTE

Este tipo de unión devuelve todas las filas de ambas tablas con valores NULL donde la condición JOIN no es verdadera. Por ejemplo:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
FULL OUTER JOIN Fee
ON Students.admission = Fee.admission

El código devuelve el siguiente resultado:

Entradas relacionadas

Deja una respuesta

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