INNER JOIN
JOIN mette in relazione righe di più tabelle usando colonne che rappresentano lo stesso collegamento.
1. Il concetto, spiegato da zero
JOIN mette in relazione righe di più tabelle usando colonne che rappresentano lo stesso collegamento.
Con INNER JOIN ottieni soltanto righe con corrispondenza su entrambe le tabelle. Usa gli alias s e c per abbreviare senza creare ambiguità.
2. Un esempio ragionato
Osserva l’esempio e leggi ogni istruzione nell’ordine. Prima di provarlo, fermati a prevedere cosa succederà; capire il motivo del risultato è più importante che memorizzare la sintassi.
SELECT s.nome, c.nome AS classe FROM studenti s INNER JOIN classi c ON s.classe_id = c.id ORDER BY s.nome;Risultati confrontati con una tabella di riferimento, usando dati di esercitazione.
Come leggere questo esempio
- Prima di eseguire, prova a prevedere il risultato dell’esempio.
- Spiega con parole tue in che modo “inner join” risolve un problema concreto.
- Rileggi ogni riga del programma e individua i valori che vengono creati o modificati.
- Modifica un valore; confronta il comportamento e annota che cosa è cambiato.
Se ometti la condizione ON puoi produrre un prodotto cartesiano e molte righe inattese.
3. Adesso tocca a te
Obiettivo dell’esercizio: Affianca a ogni studente il nome della sua classe.
Puoi partire dall’esempio, riprodurlo e poi modificarlo. La soluzione di riferimento è disponibile sotto, ma conviene aprirla soltanto dopo un primo tentativo.
Laboratorio: metti alla prova il codice
SQL · sqlLe query SQLite girano su dati di esempio in un database temporaneo nel browser. A ogni prova il database ricomincia da zero.
Output / esito del controllo
Il risultato comparirà qui.
Mostra la soluzione di riferimento
SELECT s.nome, c.nome AS classe FROM studenti s INNER JOIN classi c ON s.classe_id = c.id ORDER BY s.nome;Confronta il tuo procedimento con quello dell’esempio. Una soluzione differente può essere altrettanto valida se produce risultati corretti.
4. Verifica e ripasso
Quiz: hai capito il concetto?
Quale delle seguenti affermazioni è corretta per questo capitolo?
Con INNER JOIN ottieni soltanto righe con corrispondenza su entrambe le tabelle. Usa gli alias s e c per abbreviare senza creare ambiguità.
5. Come proseguire
Prima del capitolo successivo, prova a spiegare il concetto a un amico senza leggere il codice. Se non riesci, torna all’esempio e fai una nuova variante: imparare significa anche sperimentare.