Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Join Left, Right e Inner | Unione di Tabelle
SQL Intermedio

bookJoin 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, restituisce NULL 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, restituisce NULL per la tabella di sinistra;
  • FULL JOIN: Restituisce tutte le righe quando esiste una corrispondenza in una delle tabelle. Se non ci sono corrispondenze, restituisce NULL 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
Compito

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 e enrollments.enrollment_date dalla tabella courses.
  • Utilizzare un LEFT JOIN per unire la tabella enrollments.
  • La colonna comune per entrambe le tabelle è courses.course_id = enrollments.course_id.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 5
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

close

Awesome!

Completion rate improved to 4

bookJoin 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, restituisce NULL 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, restituisce NULL per la tabella di sinistra;
  • FULL JOIN: Restituisce tutte le righe quando esiste una corrispondenza in una delle tabelle. Se non ci sono corrispondenze, restituisce NULL 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
Compito

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 e enrollments.enrollment_date dalla tabella courses.
  • Utilizzare un LEFT JOIN per unire la tabella enrollments.
  • La colonna comune per entrambe le tabelle è courses.course_id = enrollments.course_id.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

close

Awesome!

Completion rate improved to 4
Sezione 3. Capitolo 5
single

single

some-alt