Unione SQL L'operazione combina dati o righe di due o più tabelle in base a un campo comune tra loro.
In questo articolo impareremo a conoscere Si unisce in SQL, coprendo tipi JOIN, sintassi ed esempi.
UNISCITI SQL
La clausola SQL JOIN viene utilizzata per eseguire query e accedere ai dati da più tabelle stabilendo relazioni logiche tra di esse. Può accedere ai dati da più tabelle contemporaneamente utilizzando valori chiave comuni condivisi su diverse tabelle.
Possiamo usare SQL JOIN con più tabelle. Può anche essere abbinato ad altre clausole, l'uso più popolare sarà l'utilizzo di JOIN Dove la clausola per filtrare il recupero dei dati.
Esempio di JOIN SQL
Consideriamo le due tabelle seguenti come segue:
Alunno:
Corso per studenti :

Entrambe queste tabelle sono collegate da una chiave comune (colonna), ovvero ROLL_NO.
Possiamo eseguire un'operazione JOIN utilizzando la query SQL specificata:
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;>
Produzione:
| ROLL_NO | NOME | INDIRIZZO | TELEFONO | ETÀ | CORSO_ID |
| 1 | DURO | DELHI | XXXXXXXXX | 18 | 1 |
| 2 | PRATICA | BIHAR | XXXXXXXXX | 19 | 2 |
| 3 | RIYANKA | SILGURI | XXXXXXXXX | venti | 2 |
| 4 | PROFONDO | RAMNAGAR | XXXXXXXXX | 18 | 3 |
| 5 | SAPTARHI | CALCUTTA | XXXXXXXXX | 19 | 1 |
Tipi di JOIN in SQL
Esistono molti tipi di join in SQL. A seconda del caso d'uso, è possibile utilizzare diversi tipi di clausola SQL JOIN. Ecco i tipi SQL JOIN utilizzati di frequente:
- UNIONE INTERNA
- SINISTRA UNISCITI
- ISCRIVITI GIUSTO
- ISCRIZIONE COMPLETA
- UNIONE NATURALE
JOIN INTERNO SQL
IL UNIONE INTERNA La parola chiave seleziona tutte le righe da entrambe le tabelle purché la condizione sia soddisfatta. Questa parola chiave creerà il set di risultati combinando tutte le righe di entrambe le tabelle in cui la condizione soddisfa, ovvero il valore del campo comune sarà lo stesso.
architettura linux
Sintassi :
La sintassi per SQL INNER JOIN è:
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 INNER JOIN table2 ON table1.matching_column = table2.matching_column;>
Qui,
- Tabella 1 : Primo tavolo.
- Tavolo 2 : Secondo tavolo
- colonna_corrispondente : Colonna comune ad entrambe le tabelle.
Nota : Possiamo anche scrivere JOIN invece di INNER JOIN. JOIN è uguale a INNER JOIN.

Esempio di JOIN INTERNO
Diamo un'occhiata all'esempio della clausola INNER JOIN e capiamo che funziona.
Questa query mostrerà i nomi e l'età degli studenti iscritti a diversi corsi.
SELECT StudentCourse.COURSE_ID, Student.NAME, Student.AGE FROM Student INNER JOIN StudentCourse ON Student.ROLL_NO = StudentCourse.ROLL_NO;>
Produzione :

JOIN SQL A SINISTRA
LEFT JOIN restituisce tutte le righe della tabella sul lato sinistro del join e abbina le righe della tabella sul lato destro del join. Per le righe per le quali non esiste una riga corrispondente sul lato destro, il set di risultati conterrà nullo . LEFT JOIN è noto anche come LEFT OUTER JOIN.
Sintassi
La sintassi di LEFT JOIN in SQL è :
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 LEFT JOIN table2 ON table1.matching_column = table2.matching_column;>
Qui,
- Tabella 1: Primo tavolo.
- Tavolo 2 : Secondo tavolo
- colonna_corrispondente : Colonna comune ad entrambe le tabelle.
Nota : Possiamo anche usare LEFT OUTER JOIN invece di LEFT JOIN, entrambi sono uguali.
Esempio JOIN A SINISTRA
Diamo un'occhiata all'esempio della clausola LEFT JOIN e capiamo che funziona
SELECT Student.NAME,StudentCourse.COURSE_ID FROM Student LEFT JOIN StudentCourse ON StudentCourse.ROLL_NO = Student.ROLL_NO;>
Produzione :

SQL GIUNZIONE DESTRA
ISCRIVITI GIUSTO restituisce tutte le righe della tabella sul lato destro del join e le righe corrispondenti per la tabella sul lato sinistro del join. È molto simile a LEFT JOIN Per le righe per le quali non esiste una riga corrispondente sul lato sinistro, il set di risultati conterrà nullo . RIGHT JOIN è noto anche come RIGHT OUTER JOIN.
Sintassi:
La sintassi di RIGHT JOIN in SQL è:
carattere da stringa in Java
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 RIGHT JOIN table2 ON table1.matching_column = table2.matching_column;>
Qui,
- Tabella 1 : Primo tavolo.
- Tavolo 2 : Secondo tavolo
- colonna_corrispondente : Colonna comune ad entrambe le tabelle.
Nota : Possiamo anche usare GIUNZIONE ESTERNA DESTRA invece di RIGHT JOIN, entrambi sono uguali.

GIUNZIONE DESTRA Esempio :
Diamo un'occhiata all'esempio della clausola RIGHT JOIN e capiamo che funziona
SELECT Student.NAME,StudentCourse.COURSE_ID FROM Student RIGHT JOIN StudentCourse ON StudentCourse.ROLL_NO = Student.ROLL_NO;>
Produzione:

JOIN COMPLETA SQL
ISCRIZIONE COMPLETA crea il set di risultati combinando i risultati di LEFT JOIN e RIGHT JOIN. Il set di risultati conterrà tutte le righe di entrambe le tabelle. Per le righe per le quali non esiste corrispondenza, il set di risultati conterrà NULLO valori.
Sintassi
La sintassi di SQL FULL JOIN è:
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 FULL JOIN table2 ON table1.matching_column = table2.matching_column;>
Qui,
- Tabella 1 : Primo tavolo.
- Tavolo 2 : Secondo tavolo
- colonna_corrispondente : Colonna comune ad entrambe le tabelle.
Esempio di FULL JOIN
Diamo un'occhiata all'esempio della clausola FULL JOIN e capiamo che funziona
SELECT Student.NAME,StudentCourse.COURSE_ID FROM Student FULL JOIN StudentCourse ON StudentCourse.ROLL_NO = Student.ROLL_NO;>
Produzione:
| NOME | CORSO_ID file Linux |
|---|---|
| DURO | 1 |
| PRATICA | 2 |
| RIYANKA | 2 |
| PROFONDO | 3 |
| SAPTARHI | 1 |
| DHANRAJ | NULLO |
| ROHIT | NULLO |
| NIRAJ | NULLO |
| NULLO | 4 |
| NULLO | 5 |
| NULLO | 4 |
Unione naturale SQL (?)
L'unione naturale può unire le tabelle in base alle colonne comuni nelle tabelle da unire. Un'unione naturale restituisce tutte le righe facendo corrispondere i valori nelle colonne comuni aventi lo stesso nome e tipo di dati delle colonne e tale colonna deve essere presente in entrambe le tabelle.
Entrambe le tabelle devono avere almeno una colonna comune con lo stesso nome di colonna e lo stesso tipo di dati.
Le due tabelle vengono unite utilizzando Unione incrociata .
Il DBMS cercherà una colonna comune con lo stesso nome e tipo di dati. Nel risultato vengono mantenute le tuple aventi esattamente gli stessi valori nelle colonne comuni.
cos'è l'altoparlante
Esempio di unione naturale:
Guarda le due tabelle seguenti: Dipendente e Dipartimento
| Dipendente | ||
|---|---|---|
| Emp_id | Nome_dip | ID_dip |
| 1 | Ram | 10 |
| 2 | Jon | 30 |
| 3 | Bob | cinquanta |
| Dipartimento | |
|---|---|
| ID_dip | Nome_dip |
| 10 | ESSO |
| 30 | risorse umane |
| 40 | TIS |
Problema : Trova tutti i dipendenti e i rispettivi dipartimenti.
Domanda di soluzione : (Dipendente) ? (Dipartimento)
| Emp_id | Nome_dip | ID_dip | ID_dip | Nome_dip |
|---|---|---|---|---|
| 1 | Ram | 10 | 10 | ESSO |
| 2 | Jon | 30 | 30 | risorse umane |
| Dati dei dipendenti | Dati del dipartimento |
Risorse addizionali
Per saperne di più su SQL JOIN prova a guardare i nostri video e leggi gli articoli:
Sinistra ISCRIVITI (Video)
Giusto ISCRIVITI (Video)
ISCRIVITI completo (Video)
SQL | JOIN (Join cartesiano, Self Join)