È possibile utilizzare le istruzioni SQL JOIN per combinare i dati da tre o più tabelle. SQL JOIN è estremamente flessibile e la sua potente funzionalità può essere utilizzata per combinare dati da più tabelle. Diamo un'occhiata alle istruzioni SQL che consentono di combinare i risultati di tre diverse tabelle utilizzando un join interno.
Esempio di unione interna
Ad esempio, prendere le tabelle che contengono driver in una tabella e le corrispondenze di veicoli nella seconda. L'unione interna si verifica quando sia il veicolo che l'autista si trovano nella stessa città. Il join interno seleziona tutte le righe da entrambe le tabelle che contengono una corrispondenza tra le colonne di posizione.
L'istruzione SQL riportata di seguito combina i dati delle tabelle Drivers and Vehicles nei casi in cui l'autista e il veicolo si trovano nella stessa città:
SELECT cognome, nome, tag FROM driver, veicoli WHERE drivers.location = vehicles.location
Questa query produce i seguenti risultati:
cognome nome tag name -------- --------- --- Baker Roland H122JM Smythe Michael D824HA Smythe Michael P091YF Jacobs Abraham J291QR Jacobs Abraham L990MT
Ora, estendi questo esempio per includere una terza tabella. Immagina di voler includere solo autisti e veicoli presenti nei luoghi aperti nel fine settimana. Puoi portare una terza tabella nella tua query estendendo l'istruzione JOIN come segue:
SELEZIONA cognome, nome, tag, open_weekends DA driver, veicoli, posizioni WHERE drivers.location = vehicles.location AND vehicles.location = locations.location AND locations.open_weekends = 'Sì'
cognome nome tag aperto open_weekends -------- --------- --- ------------- Baker Roland H122JM sì Jacobs Abraham J291QR sì Jacobs Abraham L990MT sì
Questa potente estensione dell'istruzione SQL JOIN di base consente di combinare i dati in modo complesso. Oltre a combinare le tabelle con un join interno, puoi utilizzare questa tecnica anche per combinare più tabelle utilizzando un join esterno. I join esterni includono risultati che esistono in una tabella ma non hanno una corrispondenza corrispondente nella tabella unita.