Menu
Coddy logo textTech

JOIN di base, parte 1

Fa parte della sezione Fondamenti del percorso SQL di Coddy. Lezione 43 di 72.

Finora abbiamo affrontato problemi relativi a una singola tabella. Ora esamineremo come gestire più tabelle.

Supponiamo di avere le seguenti tabelle:

corsi

course_idlecturer_id
11
21
32

docenti

lecturer_idnome
1Jhonas
2Malidos

Il compito consiste nel presentare ogni corso con il nome del docente corrispondente.

Esistono due modi per ottenere questo risultato. Per ciascuna opzione, abbiniamo ogni riga di una tabella a una riga dell'altra. Verifichiamo una condizione che deve essere soddisfatta e, se lo è, combiniamo le due righe in una sola. Il risultato desiderato per entrambe le opzioni:

course_idlecturer_name
1Jhonas
2Jhonas
3Malidos

Opzione 1:

SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses, lecturers
WHERE courses.lecturer_id = lecturers.lecturer_id

Qui scriviamo due tabelle nella parola chiave FROM e, nella clausola WHERE, richiediamo che il lecturer_id di entrambi i record sia uguale. Nella clausola SELECT ora scriviamo table.column, così il database saprà da dove recuperare la colonna.

Opzione 2:

SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses
JOIN lecturers ON courses.lecturer_id = lecturers.lecturer_id

Invece di WHERE usiamo JOIN table ON condition

Questo tipo di join è chiamato anche inner join.

challenge icon

Sfida

Facile

Tabelle e colonne disponibili:

  • grades: course_id, student_id, grade
  • students: id, name

Crea una query che recuperi student_name, course_id, student_id e grade in un'unica tabella. Ordina il risultato per voto in ordine crescente.

Provalo tu

-- Elenca le colonne richieste dall'esercizio, usando l'alias richiesto
SELECT ____
FROM students, grades
-- Mantieni solo le coppie di righe in cui entrambe le tabelle si riferiscono alla stessa persona
WHERE ____
ORDER BY grade
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground SQL