SQL | Unión (uniones internas, izquierdas, derechas y completas)

La instrucción SQL Join se usa para combinar datos o filas de dos o más tablas en función de un campo común entre ellas. Los diferentes tipos de Uniones son los siguientes: 

  • UNIR INTERNAMENTE
  • UNIRSE A LA IZQUIERDA
  • UNIÓN DERECHA
  • ÚNETE COMPLETO

Considere las dos tablas a continuación: 

Alumno

Screenshot from 2016-12-19 12-53-29 

EstudianteCurso 

table5

El Join más simple es INNER JOIN. 

A. UNIÓN INTERNA

La palabra clave INNER JOIN 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

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


table1: First table.
table2: Second table
matching_column: Column common to both the tables.

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

Consultas de ejemplo (INNER JOIN)

Esta consulta mostrará los nombres y la edad 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;

Salida :  

table2

B. UNIRSE A LA IZQUIERDA

Esta combinación 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 que no hay una fila coincidente en el lado derecho, el conjunto de resultados contendrá nulo . LEFT JOIN también se conoce como LEFT OUTER JOIN.

Sintaxis: 

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


table1: First table.
table2: Second table
matching_column: Column common to both the tables.

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

Consultas de ejemplo (LEFT JOIN)

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

Salida

table3

C. UNIÓN DERECHA

RIGHT JOIN es similar a LEFT JOIN. Esta combinación devuelve todas las filas de la tabla del lado derecho de la combinación y las filas coincidentes de la tabla del lado izquierdo de la combinación. Para las filas para las que no hay una fila coincidente en el lado izquierdo, el conjunto de resultados contendrá nulo . RIGHT JOIN también se conoce como RIGHT OUTER JOIN. 

Sintaxis: 

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


table1: First table.
table2: Second table
matching_column: Column common to both the tables.

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

 

Consultas de ejemplo (UNIÓN A LA DERECHA) :

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

Producción: 

table6

D. UNIÓN COMPLETA

FULL JOIN 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 coincidencia, el conjunto de resultados contendrá valores NULL .

Sintaxis:  

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


table1: First table.
table2: Second table
matching_column: Column common to both the tables. 

Consultas de ejemplo (FULL JOIN)

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

PRATIK

2

RIYANKA

2

PROFUNDO

3

SAPTARHI

1

DHANRAJ

NULO

ROHIT

NULO

NIRAJ

NULO

NULO

4

NULO

5

NULO

4

Left JOIN (Video)  
Right JOIN (Video)  
Full JOIN (Video)  
SQL | JOIN (Unión cartesiana, Autounión) 

Este artículo es una contribución de Harsh Agarwal . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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