Cominci qui? Questa lezione fa parte di un tutorial completo sull’uso di SQL per l’analisi dei dati. Controlla l’inizio.

In questa lezione copriremo:

  • Il comando RIGHT JOIN
  • Problema pratico

Il comando RIGHT JOIN

Le RIGHT JOIN sono simili alle left joins tranne che restituiscono tutte le righe della tabella nella clausola RIGHT JOIN e solo le righe corrispondenti della tabella nella clausola FROM.

RIGHT JOIN è usato raramente perché potete ottenere i risultati di un RIGHT JOIN semplicemente scambiando i due nomi delle tabelle unite in un LEFT JOIN. Per esempio, in questa query del dataset Crunchbase, la sezione LEFT JOIN:

SELECT companies.permalink AS companies_permalink, companies.name AS companies_name, acquisitions.company_permalink AS acquisitions_permalink, acquisitions.acquired_at AS acquired_date FROM tutorial.crunchbase_companies companies LEFT JOIN tutorial.crunchbase_acquisitions acquisitions ON companies.permalink = acquisitions.company_permalink

produce gli stessi risultati di questa query:

SELECT companies.permalink AS companies_permalink, companies.name AS companies_name, acquisitions.company_permalink AS acquisitions_permalink, acquisitions.acquired_at AS acquired_date FROM tutorial.crunchbase_acquisitions acquisitions RIGHT JOIN tutorial.crunchbase_companies companies ON companies.permalink = acquisitions.company_permalink

La convenzione di usare sempre LEFT JOIN probabilmente esiste per rendere le query più facili da leggere e controllare, ma oltre a questo non c’è necessariamente una forte ragione per evitare di usare RIGHT JOIN.

Vale la pena notare che LEFT JOIN e RIGHT JOIN possono essere scritti rispettivamente come LEFT OUTER JOIN e RIGHT OUTER JOIN.

Affina le tue abilità SQL

Problema pratico

Riscrivi la precedente query pratica in cui hai contato le aziende totali e acquisite per stato, ma con un RIGHT JOIN invece di un LEFT JOIN. L’obiettivo è di produrre esattamente gli stessi risultati.

Prova Vedi la risposta

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.