logo

Unions SQL (unió interna, esquerra, dreta i completa)

Unió SQL L'operació combina dades o files de dues o més taules en funció d'un camp comú entre elles.

En aquest article, aprendrem sobre S'uneix a SQL, que cobreix els tipus, la sintaxi i els exemples de JOIN.

SQL JOIN

La clàusula SQL JOIN s'utilitza per consultar i accedir a dades de diverses taules mitjançant l'establiment de relacions lògiques entre elles. Pot accedir a dades de diverses taules simultàniament utilitzant valors clau comuns compartits entre diferents taules.



exemple de subcadena en java

Podem utilitzar SQL JOIN amb múltiples taules. També es pot combinar amb altres clàusules, l'ús més popular serà utilitzar JOIN with clàusula ON per filtrar la recuperació de dades.

Exemple SQL JOIN

Considereu les dues taules següents de la següent manera:

Estudiant:

taula d'estudiants Curs d'estudiants :

taula del curs

Aquestes dues taules estan connectades per una clau comuna (columna), és a dir, ROLL_NO.

Podem realitzar una operació JOIN mitjançant la consulta SQL donada:

  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;>

Sortida:

ROLL_NO NOM ADREÇA TELÈFON EDAT COURSE_ID
1 DURS DELHI XXXXXXXXX 18 1
2 PRÀCTICA BIHAR XXXXXXXXX 19 2
3 RIYANKA SILGURI XXXXXXXXX 20 2
4 PROFUNDA RAMNAGAR XXXXXXXXX 18 3
5 SAPTARHI CALCUTA XXXXXXXXX 19 1

Tipus de JOIN en SQL

Hi ha molts tipus d'unions en SQL. Depenent del cas d'ús, podeu utilitzar diferents tipus de clàusula SQL JOIN. Aquests són els tipus SQL JOIN d'ús freqüent:

  • COMBINACIÓ INTERNA
  • UNIR-SE A L'ESQUERRA
  • UNIR-SE A LA DRETA
  • PARTICIPACIÓ COMPLETA
  • UNIÓ NATURAL

SQL INNER JOIN

El COMBINACIÓ INTERNA paraula clau selecciona totes les files de les dues taules sempre que es compleixi la condició. Aquesta paraula clau crearà el conjunt de resultats combinant totes les files de les dues taules on la condició compleixi, és a dir, el valor del camp comú serà el mateix.

Sintaxi :

La sintaxi per a SQL INNER JOIN és:

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

Aquí,

  • taula 1 : Primera taula.
  • taula 2 : Segona taula
  • columna_coincidència : Columna comuna a les dues taules.

Nota : També podem escriure JOIN en lloc d'INNER JOIN. JOIN és el mateix que INNER JOIN.

Representació visual d'unió interna sql

Exemple INNER JOIN

Vegem l'exemple de la clàusula INNER JOIN i entenem que funciona.

Aquesta consulta mostrarà els noms i l'edat dels estudiants matriculats en diferents cursos.

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

Sortida :

Sortida d'exemple d'unió interna sql

JOIN A L'ESQUERRA SQL

LEFT JOIN retorna totes les files de la taula del costat esquerre de la unió i coincideix amb les files de la taula del costat dret de la unió. Per a les files per a les quals no hi ha cap fila coincident al costat dret, el conjunt de resultats contindrà nul . LEFT JOIN també es coneix com LEFT OUTER JOIN.

Sintaxi

La sintaxi de LEFT JOIN en SQL és :

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

Aquí,

  • taula 1: Primera taula.
  • taula 2 : Segona taula
  • columna_coincidència : Columna comuna a les dues taules.

Nota : També podem utilitzar LEFT OUTER JOIN en lloc de LEFT JOIN, tots dos són iguals.

Left_Join

LEFT JOIN Exemple

Vegem l'exemple de la clàusula LEFT JOIN i entenem que funciona

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

Sortida :

sql left join exemple de sortida

UNICIÓ DRET SQL

UNIR-SE A LA DRETA retorna totes les files de la taula del costat dret de la unió i les files coincidents per a la taula del costat esquerre de la unió. És molt semblant a LEFT JOIN Per a les files per a les quals no hi ha cap fila coincident al costat esquerre, el conjunt de resultats contindrà nul . RIGHT JOIN també es coneix com RIGHT OUTER JOIN.

Sintaxi:

La sintaxi de RIGHT JOIN en SQL és:

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

Aquí,

  • taula 1 : Primera taula.
  • taula 2 : Segona taula
  • columna_coincidència : Columna comuna a les dues taules.

Nota : També podem utilitzar UNIÓ EXTERIOR DRET en comptes de RIGHT JOIN, tots dos són iguals.

representació visual d'unió a la dreta sql

RIGHT JOIN Exemple :

Vegem l'exemple de la clàusula RIGHT JOIN i entenem que funciona

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

Sortida:

sortida d'exemple d'unió a la dreta

UNICIÓ COMPLETA SQL

PARTICIPACIÓ COMPLETA crea el conjunt de resultats combinant els resultats de LEFT JOIN i RIGHT JOIN. El conjunt de resultats contindrà totes les files de les dues taules. Per a les files per a les quals no hi ha coincidència, el conjunt de resultats contindrà NUL valors.

Full_Join

Sintaxi

La sintaxi de SQL FULL JOIN és:

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

Aquí,

  • taula 1 : Primera taula.
  • taula 2 : Segona taula
  • columna_coincidència : Columna comuna a les dues taules.

Exemple de FULL JOIN

Vegem l'exemple de la clàusula FULL JOIN i entenem que funciona

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

Sortida:

NOM

COURSE_ID

DURS

1

PRÀCTICA

2

RIYANKA

2

PROFUNDA

3

SAPTARHI

1

DHANRAJ

NUL

ROHIT

miniaplicació d'applet

NUL

NIRAJ

NUL

NUL

4

NUL

5

NUL

4

Unió natural SQL (?)

La unió natural pot unir taules en funció de les columnes comunes de les taules que s'uneixen. Una unió natural retorna totes les files fent coincidir els valors de les columnes comunes amb el mateix nom i tipus de dades de columnes i aquesta columna hauria d'estar present a les dues taules.

Les dues taules han de tenir almenys una columna comuna amb el mateix nom de columna i el mateix tipus de dades.

Les dues taules s'uneixen mitjançant Unió creuada .

El SGBD buscarà una columna comuna amb el mateix nom i tipus de dades Les tuples que tenen exactament els mateixos valors a les columnes comunes es mantenen al resultat.

Unió natural Exemple:

Mireu les dues taules següents: Empleat i Departament

Empleat

Emp_id Emp_nom Dept_id
1 Ram 10
2 Jon 30
3 Bob 50

Departament

Dept_id Nom_departament
10 IT
30 RRHH
40 TIS

Problema : Trobeu tots els empleats i els seus respectius departaments.

Consulta de solució : (empleat) ? (Departament)

Emp_id Emp_nom Dept_id Dept_id Nom_departament
1 Ram 10 10 IT
2 Jon 30 30 RRHH
Dades dels empleats Dades del departament

Recursos addicionals

Per obtenir més informació sobre SQL JOIN, proveu de veure els nostres vídeos i llegir articles:

A l'esquerra JOIN (vídeo)
JOIN a la dreta (vídeo)
JOIN complet (vídeo)
SQL | JOIN (unió cartesiana, unió personal)