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
EstudianteCurso
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 :
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 :
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:
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