logo

Uniones SQL (unión interna, izquierda, derecha y completa)

Unión SQL La operación combina datos o filas de dos o más tablas en función de un campo común entre ellas.

En este artículo aprenderemos sobre Se une en SQL, que cubre tipos de JOIN, sintaxis y ejemplos.



UNIRSE A SQL

La cláusula SQL JOIN se utiliza para consultar y acceder a datos de varias tablas estableciendo relaciones lógicas entre ellas. Puede acceder a datos de varias tablas simultáneamente utilizando valores clave comunes compartidos en diferentes tablas.

Podemos usar SQL JOIN con múltiples tablas. También se puede combinar con otras cláusulas, el uso más popular será usar JOIN con Dónde cláusula para filtrar la recuperación de datos.

Ejemplo de unión SQL

Considere las dos tablas siguientes de la siguiente manera:



Alumno:

mesa de estudiantes EstudianteCurso :

mesa de curso



Ambas tablas están conectadas por una clave común (columna), es decir, ROLL_NO.

Podemos realizar una operación JOIN usando la consulta SQL proporcionada:

  SELECT   s.roll_no, s.name, s.address, s.phone, s.age, sc.course_id   FROM   Student s   JOIN   StudentCourse sc   ON   s.roll_no = sc.roll_no;>

Producción:

ROLL_NO NOMBRE DIRECCIÓN TELÉFONO EDAD CURSO_ID
1 DURO DELHI XXXXXXXXX 18 1
2 PRÁCTICA BIHAR XXXXXXXXX 19 2
3 RIYANKA SILGURI XXXXXXXXX 20 2
4 PROFUNDO RAMNAGAR XXXXXXXXX 18 3
5 SAPTARHI CALCUTA XXXXXXXXX 19 1

Tipos de JOIN en SQL

Hay muchos tipos de combinaciones en SQL. Dependiendo del caso de uso, puede utilizar diferentes tipos de cláusula SQL JOIN. Estos son los tipos SQL JOIN utilizados con frecuencia:

  • UNIR INTERNAMENTE
  • UNIRSE A LA IZQUIERDA
  • ÚNETE DERECHO
  • ÚNETE COMPLETO
  • ÚNETE NATURAL

UNIÓN INTERNA SQL

El UNIR INTERNAMENTE La palabra clave selecciona todas las filas de ambas tablas siempre que se cumpla la condición. Esta palabra clave creará el conjunto de resultados combinando todas las filas de ambas tablas donde se cumple la condición, es decir, el valor del campo común será el mismo.

Sintaxis :

La sintaxis de SQL INNER JOIN es:

  SELECT   table1.column1,table1.column2,table2.column1,....   FROM   table1    INNER JOIN   table2   ON   table1.matching_column = table2.matching_column;>

Aquí,

  • tabla 1 : Primera mesa.
  • Tabla 2 : Segunda mesa
  • columna_coincidente : Columna común a ambas tablas.

Nota : También podemos escribir JOIN en lugar de INNER JOIN. UNIRSE es lo mismo que UNIRSE INTERIOR.

representación visual de unión interna SQL

Ejemplo de UNIÓN INTERNA

Veamos el ejemplo de la cláusula INNER JOIN y comprendamos que está funcionando.

Esta consulta mostrará los nombres y edades de los estudiantes matriculados en diferentes cursos.

  SELECT   StudentCourse.COURSE_ID, Student.NAME, Student.AGE   FROM   Student   INNER JOIN   StudentCourse   ON   Student.ROLL_NO = StudentCourse.ROLL_NO;>

Producción :

Salida de ejemplo de unión interna de SQL

UNIÓN IZQUIERDA SQL

LEFT JOIN devuelve todas las filas de la tabla en el lado izquierdo de la combinación y coincide con las filas de la tabla en el lado derecho de la combinación. Para las filas para las cuales no hay ninguna fila coincidente en el lado derecho, el conjunto de resultados contendrá nulo . LA UNIÓN IZQUIERDA también se conoce como UNIÓN EXTERNA IZQUIERDA.

Sintaxis

La sintaxis de LEFT JOIN en SQL es :

  SELECT   table1.column1,table1.column2,table2.column1,....   FROM   table1    LEFT JOIN   table2   ON   table1.matching_column = table2.matching_column;>

Aquí,

  • tabla 1: Primera mesa.
  • Tabla 2 : Segunda mesa
  • columna_coincidente : Columna común a ambas tablas.

Nota : También podemos usar LEFT OUTER JOIN en lugar de LEFT JOIN, ambos son iguales.

Unión_izquierda

Ejemplo de UNIÓN IZQUIERDA

Veamos el ejemplo de la cláusula LEFT JOIN y comprendamos que está funcionando.

  SELECT   Student.NAME,StudentCourse.COURSE_ID    FROM   Student   LEFT JOIN   StudentCourse    ON   StudentCourse.ROLL_NO = Student.ROLL_NO;>

Producción :

Salida de ejemplo de unión izquierda de SQL

UNIRSE DERECHO A SQL

ÚNETE DERECHO devuelve todas las filas de la tabla en el lado derecho de la combinación y las filas coincidentes para la tabla en el lado izquierdo de la combinación. Es muy similar a LEFT JOIN Para las filas para las cuales no hay una fila coincidente en el lado izquierdo, el conjunto de resultados contendrá nulo . LA UNIÓN DERECHA también se conoce como UNIÓN EXTERIOR DERECHA.

Sintaxis:

La sintaxis de RIGHT JOIN en SQL es:

  SELECT   table1.column1,table1.column2,table2.column1,....   FROM   table1    RIGHT JOIN   table2   ON   table1.matching_column = table2.matching_column;>

Aquí,

  • tabla 1 : Primera mesa.
  • Tabla 2 : Segunda mesa
  • columna_coincidente : Columna común a ambas tablas.

Nota : También podemos usar UNIÓN EXTERIOR DERECHA en lugar de RIGHT JOIN, ambos son iguales.

representación visual de unión derecha de sql

Ejemplo de UNIRSE DERECHO :

Veamos el ejemplo de la cláusula RIGHT JOIN y comprendamos que está funcionando.

  SELECT   Student.NAME,StudentCourse.COURSE_ID    FROM   Student   RIGHT JOIN   StudentCourse    ON   StudentCourse.ROLL_NO = Student.ROLL_NO;>

Producción:

salida de ejemplo de unión derecha

UNIÓN COMPLETA SQL

ÚNETE COMPLETO crea el conjunto de resultados combinando los resultados de LEFT JOIN y RIGHT JOIN. El conjunto de resultados contendrá todas las filas de ambas tablas. Para las filas para las que no hay coincidencias, el conjunto de resultados contendrá NULO valores.

Unirse_completamente

Sintaxis

java leer csv

La sintaxis de SQL FULL JOIN es:

  SELECT   table1.column1,table1.column2,table2.column1,....   FROM   table1    FULL JOIN   table2   ON   table1.matching_column = table2.matching_column;>

Aquí,

  • tabla 1 : Primera mesa.
  • Tabla 2 : Segunda mesa
  • columna_coincidente : Columna común a ambas tablas.

Ejemplo de UNIÓN COMPLETA

Veamos el ejemplo de la cláusula FULL JOIN y comprendamos que está funcionando.

  SELECT   Student.NAME,StudentCourse.COURSE_ID    FROM   Student   FULL JOIN   StudentCourse    ON   StudentCourse.ROLL_NO = Student.ROLL_NO;>

Producción:

NOMBRE

CURSO_ID

DURO

1

PRÁCTICA

2

ordenar montón

RIYANKA

2

PROFUNDO

3

SAPTARHI

1

DHANRAJ

NULO

ROHIT

NULO

NIRAJ

NULO

NULO

4

NULO

5

NULO

4

Unión SQL natural (?)

La combinación natural puede unir tablas en función de las columnas comunes de las tablas que se unen. Una combinación natural devuelve todas las filas al hacer coincidir valores en columnas comunes que tienen el mismo nombre y tipo de datos de columnas y esa columna debe estar presente en ambas tablas.

Ambas tablas deben tener al menos una columna común con el mismo nombre de columna y el mismo tipo de datos.

Las dos mesas se unen usando unión cruzada .

DBMS buscará una columna común con el mismo nombre y tipo de datos. Como resultado, se mantienen las tuplas que tienen exactamente los mismos valores en las columnas comunes.

Ejemplo de unión natural:

Mire las dos tablas a continuación: Empleado y Departamento

Empleado

Emp_id nombre_emp id_departamento
1 RAM 10
2 jon 30
3 Beto 50

Departamento

id_departamento nombre_departamento
10 ÉL
30 HORA
40 TIS

Problema : Encuentre todos los empleados y sus respectivos departamentos.

Consulta de solución : (Empleado) ? (Departamento)

Emp_id nombre_emp id_departamento id_departamento nombre_departamento
1 RAM 10 10 ÉL
2 jon 30 30 HORA
Datos de los empleados Datos del departamento

Recursos adicionales

Para obtener más información sobre SQL JOIN, intente ver nuestros videos y leer artículos:

Izquierda UNIRSE (Vídeo)
Derecho ÚNETE (Video)
ÚNETE completo (vídeo)
SQL | JOIN (Unión cartesiana, Autounión)