In questo articolo, esploreremo come creare query su più tabelle in SQL, un’abilità fondamentale per gestire e analizzare i dati in un database relazionale.
Utilizzeremo le istruzioni JOIN e il “metodo tradizionale” per dimostrare come collegare le informazioni provenienti da diverse tabelle del medesimo database.
Struttura delle Tabelle
Immaginiamo di avere tre tabelle nel nostro database, con i seguenti campi:
- autori
- aut_id
- aut_nome
- editori
- edi_id
- edi_nome
- libri
- lib_id
- lib_autore
- lib_editore
- lib_titolo
Le chiavi primarie e le relazioni tra le tabelle sono fondamentali. In particolare, il campo lib_autore della tabella libri deve corrispondere a aut_id della tabella autori, mentre lib_editore deve corrispondere a edi_id della tabella editori.
Query su più tabelle: metodo tradizionale
Il metodo tradizionale per scrivere il codice SQL per ottenere informazioni da più tabelle utilizza la sintassi delle virgole per separare i nomi delle tabelle elencate dopo l’istruzione FROM
. Ecco un esempio:
SELECT * FROM autori, editori, libri
WHERE
aut_id = lib_autore
AND
edi_id = lib_editore
Utilizzo dell’Istruzione JOIN
Un approccio più moderno e consigliato per unire tabelle è l’uso delle istruzioni JOIN.
Questo metodo rende la query più leggibile e più facile da gestire. Ecco un esempio di come utilizzare l’istruzione INNER JOIN per ottenere gli stessi risultati:
SELECT * FROM autori
INNER JOIN libri
ON autori.aut_id = libri.lib_autore
INNER JOIN editori
ON libri.lib_editore = editori.edi_id
L’istruzione INNER JOIN restituisce solo le righe che hanno corrispondenze in entrambe le tabelle, il che è ideale per mantenere l’integrità dei dati.
Conclusione
In questo articolo abbiamo esplorato le basi del creare query su più tabelle in SQL utilizzando sia il metodo tradizionale che l’istruzione JOIN.
Saper gestire dati da più fonti è essenziale per sfruttare appieno la potenza dei database relazionali. Ti invitiamo a sperimentare queste tecniche e a esplorare ulteriori opzioni come LEFT JOIN e RIGHT JOIN per ampliare la tua comprensione delle operazioni di join in SQL.