Una guida rapida all'utilizzo di inner join in SQL

click fraud protection

I database relazionali sono una scuderia di molte aziende. Sono creati con un linguaggio informatico chiamato Structured Query Language (SQL). Se lavori con la relazione banche dati, occasionalmente esaminerai o raccoglierai dati che si trovano in più di una tabella del database.

Che cos'è un'istruzione SQL JOIN?

Un'istruzione SQL JOIN consente di unire due o più tabelle, in genere basate su una colonna correlata in modo che i dati vengano trattati come se si trovassero in una tabella. Le tabelle stesse non vengono alterate dal join.

SQL JOIN è flessibile e funzionale. Sebbene esistano diversi tipi di join, il join interno è uno dei più facili da comprendere e utilizzare. Dai un'occhiata alle seguenti istruzioni SQL che illustrano come combinare i risultati di tre diverse tabelle utilizzando un inner join.

Esempio di unione interna

Ad esempio, prendi tabelle che contengono driver in un tavolo e veicoli nel secondo. L'unione interna si verifica dove sia il veicolo che il conducente si trovano nella stessa città. Il join interno seleziona tutte le righe di entrambe le tabelle che contengono una corrispondenza tra le colonne di posizione.

instagram viewer

L'istruzione SQL seguente combina i dati delle tabelle Drivers e Vehicles nei casi in cui il conducente e il veicolo si trovano nella stessa città:

SELEZIONA cognome, nome, tag
DA autisti, veicoli
DOVE drivers.location = Vehicles.location

Questa query produce i seguenti risultati:

cognome nome tag

Baker Roland H122JM
Smythe Michael D824HA
Smythe Michael P091YF
Jacobs Abraham J291QR
Jacobs Abraham L990MT

Ora, estendi questo esempio per includere una terza tabella. Per includere solo conducenti e veicoli presenti in luoghi aperti nel fine settimana, aggiungi una terza tabella nella query estendendo l'istruzione JOIN come segue:

SELECT cognome, nome, tag, open_weekends
DA autisti, veicoli, luoghi
DOVE drivers.location = Vehicles.location
AND Vehicles.location = location.location
AND location.open_weekends = 'Sì'

Questa query produce i seguenti risultati:

cognome nome tag open_weekends

Baker Roland H122JM sì
Jacobs Abraham J291QR sì
Jacobs Abraham L990MY sì

Questa potente estensione dell'istruzione SQL JOIN di base combina i dati in modo complesso. Oltre a combinare tabelle con un inner join, questa tecnica combina più tabelle con altri tipi di join.

Altri tipi di join

Quando le tabelle hanno un record corrispondente, i join interni sono la strada da percorrere, ma a volte una tabella non ha un record correlato per i dati su cui è costruito il join, quindi la query non riesce. Questo caso richiede un unione esterna, che include i risultati che esistono in una tabella ma non hanno una corrispondenza corrispondente nella tabella unita.

Inoltre, puoi scegliere di utilizzare un diverso tipo di join, a seconda delle circostanze. Questi altri tipi di join sono:

  • Giunto esterno sinistro (join a sinistra): contiene tutti i record della tabella di sinistra anche se la tabella di destra non ha un record corrispondente.
  • Giunto esterno destro (join a destra): restituisce tutte le informazioni rilevanti dalla tabella di destra anche se la tabella di sinistra non ha una corrispondenza.
  • Partecipazione completa: seleziona tutti i record da due tabelle indipendentemente dal fatto che abbiano o meno una condizione di join corrispondente.
instagram story viewer