CodeStart.it
Corsi SQL INNER JOIN
Cavallo · Costruisci · Capitolo 7 di 17

INNER JOIN

SQLLettura + laboratorioCorso gratuito
Che cosa imparerai

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.

Codice di esempio · SQL
SELECT s.nome, c.nome AS classe FROM studenti s INNER JOIN classi c ON s.classe_id = c.id ORDER BY s.nome;
Query di prova

Risultati confrontati con una tabella di riferimento, usando dati di esercitazione.

Come leggere questo esempio

  1. Prima di eseguire, prova a prevedere il risultato dell’esempio.
  2. Spiega con parole tue in che modo “inner join” risolve un problema concreto.
  3. Rileggi ogni riga del programma e individua i valori che vengono creati o modificati.
  4. Modifica un valore; confronta il comportamento e annota che cosa è cambiato.
Errore frequente
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 · sql

Le 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
Codice di esempio · SQL
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?

Seleziona una risposta

Promemoria

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.

← Capitolo precedente