Torna all'elenco degli articoli Articoli
Tempo di lettura: 7 minuti

Come imparare le JOIN SQL

Le JOIN sono uno dei comandi SQL più fondamentali e comunemente utilizzati per manipolare e interrogare i set di dati del mondo reale. Sono anche uno degli argomenti SQL più impegnativi da padroneggiare! In questo articolo scoprirete una strategia efficace per imparare i diversi tipi di SQL JOINs.

Quando i dati sono memorizzati in un'unica tabella, possiamo recuperare facilmente le righe e ottenere tutte le informazioni di cui abbiamo bisogno. Ma quando le aziende scalano, lo fanno anche i loro dati. In realtà, i dati sono generalmente suddivisi in più tabelle in un database relazionale. Nei casi in cui i dati si estendono su più tabelle, è necessario unire le tabelle prima di poter selezionare e utilizzare i dati.

Cosa sono le SQL JOINs?

Quando si passa dall'essere principianti di SQL a lavorare su insiemi di dati reali, ci si troverà a dover combinare i dati di più tabelle. Per fare ciò, è necessario imparare il comando SQL JOIN e tutte le sue diverse varianti.

Le JOIN sono utilizzate nelle query SQL per collegare i record di due tabelle in base a una chiave univoca comune. Di solito si usa una combinazione di chiavi primarie e straniere per collegare le tabelle. SQL JOINs Il concetto di JOIN può essere spesso scoraggiante da comprendere, soprattutto se si è agli inizi. I vari tipi di JOIN e i loro casi d'uso li rendono ancora più difficili da visualizzare.

JOIN

Tipi di SQL JOINs

In SQL, le JOIN sono un argomento piuttosto vasto. Ciò che distingue ogni tipo di JOIN da un altro sono le righe restituite quando la condizione di unione è soddisfatta (o non soddisfatta). Per specificare il tipo di JOIN da utilizzare, aggiungete il suo nome - ad esempio INNER, LEFT, RIGHT, FULL, o CROSS - subito prima del comando JOIN.

Giunzione completa sinistra-destra interna

Di seguito viene fornita una breve panoramica dei diversi tipi di JOIN:

Un comando INNER JOIN restituisce le righe quando la condizione di join è soddisfatta in entrambe le tabelle. In altre parole, restituisce solo i record che corrispondono alla condizione di join in entrambe le tabelle. (Questo è il tipo più comune di JOIN SQL. È anche quello predefinito quando non si specifica il tipo di JOIN.

Una OUTER JOIN restituisce tutte le righe di una tabella e alcune o tutte le righe di un'altra tabella. (Esistono tre tipi di join esterni:

Una LEFT JOIN restituisce tutte le righe della tabella di sinistra, anche se non sono state trovate righe corrispondenti nella tabella di destra. Se non ci sono corrispondenze nella tabella di destra, la query restituirà valori NULL per quelle colonne. In uno dei nostri articoli precedenti abbiamo fornito un approfondimento sulle LEFT JOIN che ritengo molto utile.

Una RIGHT JOIN restituisce tutte le righe della tabella di destra. Se non ci sono corrispondenze nella tabella di sinistra, vengono restituiti i valori NULL per quelle colonne.

Una FULL JOIN è essenzialmente una combinazione di LEFT JOIN e RIGHT JOIN. Restituisce tutte le righe di entrambe le tabelle. Se non viene trovata alcuna corrispondenza né nella tabella di destra né in quella di sinistra, vengono restituiti i valori NULL per le colonne. In altre parole, è l'unione delle colonne delle due tabelle.

Una CROSS JOIN, spesso definita come JOIN cartesiano, restituisce ogni possibile combinazione di righe delle tabelle che sono state unite. Poiché restituisce tutte le combinazioni, questa è l'unica JOIN che non necessita di una condizione di unione e quindi non ha una clausola ON. Per saperne di più sulle JOIN CROSS, vedere qui.

Potete anche imparare a conoscere SQL JOINs e i suoi tipi nella nostra serie YouTube We Learn SQL. Guardate la clip qui sotto. Iscrivetevi al nostro canale e lasciate un commento!

Le JOIN possono essere utilizzate per collegare più di due tabelle. Le JOIN multiple sono query che contengono più di una clausola JOIN. Possono avere lo stesso tipo di JOIN o combinare diversi tipi di JOIN. Queste query consentono di combinare più tabelle. Si realizzano aggiungendo semplicemente altre clausole di JOIN all'istruzione SELECT. Per unire più tabelle con questo metodo, deve esistere una relazione logica tra le tabelle. Per un caso d'uso più specifico, si consiglia di consultare il nostro articolo su come unire 3 tabelle (o più) in SQL.

Padroneggiare SQL JOINs

La padronanza di qualsiasi mestiere tecnico richiede la risoluzione di sfide reali e si basa su una solida base tecnica. Per imparare SQL JOINs, ciò significa:

Imparare le basi

Il modo in cui funzionano alcune di queste JOIN è spesso difficile da immaginare, quindi vale la pena di esaminare esempi specifici per ciascuna di esse. Uno dei nostri precedenti articoli sui diversi tipi di SQL JOINs fornisce esempi visivi dettagliati. Scorrendo gli esempi, si impara ad apprezzare l'unicità di ciascuno di essi e il modo in cui vengono implementati attraverso la sintassi JOIN.

Sebbene le JOIN sopra elencate siano adatte alla maggior parte dei casi d'uso, le applicazioni del mondo reale possono talvolta richiedere l'implementazione di tipi di JOIN più complessi. In questo articolo non ci soffermeremo su questi tipi di JOIN, ma date un'occhiata ai nostri articoli precedenti che trattano le JOIN non-equi e le SELF JOIN.

Probabilmente non vedete l'ora di tuffarvi e di mettere alla prova le vostre capacità di sviluppo con l'apprendimento di SQL JOINs. Tuttavia, dopo aver affrontato il mio stesso percorso di apprendimento e aver sperimentato la stessa impazienza, vi consiglio di assorbire bene le nuove conoscenze. Fate un po' di pratica prima di iniziare a lavorare su database reali.

A mio parere, uno dei modi migliori per imparare le basi di SQL JOINs è il corso SQL Basics e le sue sezioni sulle JOIN (moduli 3 e 5). Dovete essere in grado di confrontare i tipi di JOIN e di capire in che modo ciascuno di essi restituisce i risultati in modo diverso. Cercate di visualizzare l'interazione tra le tabelle unite; questo corso vi aiuterà a farlo.

Esercitarsi su insiemi di dati reali

SQL JOINs Il concetto di JOIN può essere piuttosto difficile da padroneggiare, soprattutto per i principianti; per prima cosa, i materiali di apprendimento e di esercitazione devono riflettere i casi d'uso del mondo reale affinché gli studenti possano afferrare correttamente il materiale. Inoltre, le JOIN nella vita reale sono spesso più complicate degli esempi dei libri di testo. Una volta apprese le basi, è necessario esercitarsi a scrivere JOIN SQL in scenari realistici.

Per i singoli individui può essere difficile trovare set di dati adatti. Posso capirlo benissimo: anch'io ho vissuto la stessa situazione. Inoltre, è difficile trovare esercizi personalizzati che coprano i diversi tipi di SQL JOINs.

LearnSQL.it's SQL JOINs fornisce contenuti approfonditi sull'apprendimento e la pratica delle JOIN in un ambiente interattivo e strutturato. I set di dati sono realistici e gli esercizi assomigliano a problemi del mondo reale. Non è necessario scaricare nulla; tutto si svolge nel browser. Il corso fornisce tutte le conoscenze sulle JOIN necessarie per gestire il set di dati. Si conclude con un modulo progettato per consolidare le conoscenze acquisite. In particolare, questo corso insegna a:

  • JOIN di dati provenienti da più tabelle.
  • JOIN di più tabelle in un'unica query.
  • JOIN di una tabella con se stessa.
  • JOIN di tabelle su colonne non chiave.
  • Comprendere i casi d'uso di LEFT JOIN, RIGHT JOIN, FULL JOIN e delle JOIN non equi.
  • Filtrare i dati con diversi tipi di JOIN.

Ulteriori suggerimenti per l'apprendimento SQL JOINs

Ho trovato molto utile iniziare con due tabelle. Le ho unite utilizzando diversi tipi di join, uno alla volta, e ho confrontato ogni risultato con i risultati attesi. Per questo esercizio, è meglio usare un set di dati più piccolo: è più facile visualizzare le differenze e capire cosa succede "sotto il cofano". Si potrebbe anche guardare un diagramma Entità-Relazioni (ERD) o un diagramma dello schema del DB che delinea tutte le relazioni tra le tabelle. Questo può aiutare a visualizzare come unire le tabelle nelle query SQL.

Quando vi esercitate su SQL JOINs, cercate di pensare alle dimensioni delle tabelle con cui lavorate. Dal punto di vista delle prestazioni di calcolo, quando si uniscono due tabelle, è importante considerare l'ordine delle tabelle nella JOIN. Se si nota che una delle tabelle è notevolmente più grande dell'altra, è consigliabile riscrivere la query in modo che la tabella più grande venga inserita per ultima.

Potete imparare SQL JOINs!

Se pensate che le istruzioni SQL JOIN siano fuori dalla vostra portata, ripensateci!

Sebbene l'istruzione JOIN sia spesso percepita come complicata, si tratta di una tecnica potente e che fa risparmiare tempo. Le JOIN possono sembrare scoraggianti all'inizio, ma si impara a gestirle. Con i giusti materiali di apprendimento e di esercitazione, vi ritroverete a padroneggiare SQL JOINs. Sono certo che le strategie di apprendimento e le risorse discusse sopra vi aiuteranno. Una volta acquisita la padronanza dei corsi SQL Basics e i corsi JOIN, potrete destreggiarvi con eleganza anche nei database più complessi.