Join Left, Right e Inner
Il negozio online ha ordinato altri prodotti da un fornitore perché le scorte stavano per terminare. Questo significa che abbiamo un po' di tempo libero fino all'arrivo della spedizione.
Approfittiamo di questa occasione per imparare qualcosa di nuovo! Finora hai utilizzato il JOIN
standard in SQL, ma esistono altri tipi di join che puoi utilizzare.
Ecco i 4 principali tipi di join tra tabelle:
INNER JOIN
: Restituisce le righe con valori corrispondenti in entrambe le tabelle. Questo è lo stesso JOIN standard che hai già utilizzato;
LEFT JOIN
: Restituisce tutte le righe dalla tabella di sinistra e le righe corrispondenti dalla tabella di destra. Se non ci sono corrispondenze, restituisceNULL
per la tabella di destra;
RIGHT JOIN
: Restituisce tutte le righe dalla tabella di destra e le righe corrispondenti dalla tabella di sinistra. Se non ci sono corrispondenze, restituisceNULL
per la tabella di sinistra;
FULL JOIN
: Restituisce tutte le righe quando esiste una corrispondenza in una delle tabelle. Se non ci sono corrispondenze, restituisceNULL
per i valori mancanti nell'altra tabella.
Prima di approfondire l'utilizzo di questi join, diamo un'occhiata alle due tabelle con cui lavoreremo. Contengono dettagli sui corsi e sugli studenti iscritti.
courses
:
enrollments
:
La sintassi per utilizzare questi tipi di join è in realtà semplice. Invece del familiare JOIN
o INNER JOIN
, basta specificare LEFT JOIN
o un altro tipo di JOIN
:
SELECT table1.column, table2.column
FROM table1 -- this is the LEFT table
LEFT JOIN table 2 -- this is the RIGHT table
ON table1.common_column = table2.common_column
Swipe to start coding
Scrivere una query per recuperare un elenco di tutti i corsi e degli studenti iscritti, inclusi i corsi senza studenti registrati.
È necessario recuperare le seguenti colonne in questo ordine:
courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date
Utilizzare il tipo appropriato di JOIN
per risolvere questo compito!
Istruzioni sintetiche
- Recuperare le colonne
courses.course_id
,courses.course_name
,courses.description
,enrollments.student_name
eenrollments.enrollment_date
dalla tabellacourses
. - Utilizzare un LEFT JOIN per unire la tabella
enrollments
. - La colonna comune per entrambe le tabelle è
courses.course_id = enrollments.course_id
.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 4
Join Left, Right e Inner
Scorri per mostrare il menu
Il negozio online ha ordinato altri prodotti da un fornitore perché le scorte stavano per terminare. Questo significa che abbiamo un po' di tempo libero fino all'arrivo della spedizione.
Approfittiamo di questa occasione per imparare qualcosa di nuovo! Finora hai utilizzato il JOIN
standard in SQL, ma esistono altri tipi di join che puoi utilizzare.
Ecco i 4 principali tipi di join tra tabelle:
INNER JOIN
: Restituisce le righe con valori corrispondenti in entrambe le tabelle. Questo è lo stesso JOIN standard che hai già utilizzato;
LEFT JOIN
: Restituisce tutte le righe dalla tabella di sinistra e le righe corrispondenti dalla tabella di destra. Se non ci sono corrispondenze, restituisceNULL
per la tabella di destra;
RIGHT JOIN
: Restituisce tutte le righe dalla tabella di destra e le righe corrispondenti dalla tabella di sinistra. Se non ci sono corrispondenze, restituisceNULL
per la tabella di sinistra;
FULL JOIN
: Restituisce tutte le righe quando esiste una corrispondenza in una delle tabelle. Se non ci sono corrispondenze, restituisceNULL
per i valori mancanti nell'altra tabella.
Prima di approfondire l'utilizzo di questi join, diamo un'occhiata alle due tabelle con cui lavoreremo. Contengono dettagli sui corsi e sugli studenti iscritti.
courses
:
enrollments
:
La sintassi per utilizzare questi tipi di join è in realtà semplice. Invece del familiare JOIN
o INNER JOIN
, basta specificare LEFT JOIN
o un altro tipo di JOIN
:
SELECT table1.column, table2.column
FROM table1 -- this is the LEFT table
LEFT JOIN table 2 -- this is the RIGHT table
ON table1.common_column = table2.common_column
Swipe to start coding
Scrivere una query per recuperare un elenco di tutti i corsi e degli studenti iscritti, inclusi i corsi senza studenti registrati.
È necessario recuperare le seguenti colonne in questo ordine:
courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date
Utilizzare il tipo appropriato di JOIN
per risolvere questo compito!
Istruzioni sintetiche
- Recuperare le colonne
courses.course_id
,courses.course_name
,courses.description
,enrollments.student_name
eenrollments.enrollment_date
dalla tabellacourses
. - Utilizzare un LEFT JOIN per unire la tabella
enrollments
. - La colonna comune per entrambe le tabelle è
courses.course_id = enrollments.course_id
.
Soluzione
Grazie per i tuoi commenti!
Awesome!
Completion rate improved to 4single