logo

Join SQL (join interno, sinistro, destro e completo)

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:

tavolo degli studenti Corso per studenti :

tavola delle portate

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.

SQL inner join rappresentazione visiva

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 :

output di esempio di inner join sql

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.

Sinistra_Iscriviti

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 :

output di esempio di SQL Left Join

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.

sql right join rappresentazione visiva

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:

output di esempio di join a destra

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.

Completo_Iscriviti

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)