JOIN LEFT e RIGHT

Unire i dati in SQL

Maham Faisal Khan

Senior Content Developer, Data Science

Diagramma di INNER JOIN

Diagramma per un INNER JOIN su id

Diagramma ripetuto da una lezione precedente con due tabelle, left_table e right_table, e il risultato dopo un inner join. I record non rilevanti per l'inner join sono attenuati.

Unire i dati in SQL

Diagramma iniziale di LEFT JOIN

  • LEFT JOIN restituisce tutti i record della tabella di sinistra e quelli della tabella di destra che corrispondono sul campo di join
    Diagramma per un LEFT JOIN su id

Diagramma con due tabelle, left table e right table, con frecce che indicano i record che corrispondono nella colonna id in entrambe. I record non rilevanti per il left join sono in grigio.

Unire i dati in SQL

Diagramma di LEFT JOIN

Diagramma per un LEFT JOIN su id

Diagramma con due tabelle, left table e right table, e il risultato dopo un left join. I record non rilevanti per il left join sono attenuati.

Unire i dati in SQL

Sintassi di LEFT JOIN

SELECT p1.country, prime_minister, president
FROM prime_ministers AS p1
LEFT JOIN presidents AS p2
USING(country);

Nota: LEFT JOIN si può scrivere anche LEFT OUTER JOIN.

| country        | prime_minister    | president               |
|----------------|-------------------|-------------------------|
| Egypt          | Mostafa Madbouly  | Abdel Fattah el-Sisi    |
| Portugal       | Luís Montenegro   | Marcelo Rebelo de Sousa |
| Pakistan       | Shehbaz Sharif    | Asif Ali Zardari        |
| United Kingdom | Keir Starmer      | null                    | 
| India          | Narendra Modi     | Droupadi Murmu          |
| Australia      | Anthony Albanese  | null                    | 
...
Unire i dati in SQL

RIGHT JOIN

Diagramma per un RIGHT JOIN su id

Diagramma con due tabelle, left table e right table, e il risultato dopo un right join. I record non rilevanti per il right join sono in grigio.

Unire i dati in SQL

Sintassi di RIGHT JOIN

SELECT *
FROM left_table
RIGHT JOIN right_table
ON left_table.id = right_table.id;

Nota: RIGHT JOIN si può scrivere anche RIGHT OUTER JOIN.

Unire i dati in SQL

RIGHT JOIN con presidenti e primi ministri

SELECT p1.country, prime_minister, president
FROM prime_ministers AS p1
RIGHT JOIN presidents AS p2
USING(country);
| country        | prime_minister   | president               |
|----------------|------------------|-------------------------|
| Egypt          | Mostafa Madbouly | Abdel Fattah el-Sisi    |
| Portugal       | Luís Montenegro  | Marcelo Rebelo de Sousa |
| USA            | null             | Joe Biden               |
| Uruguay        | null             | Luis Lacalle Pou        |     
| Pakistan       | Shehbaz Sharif   | Asif Ali Zardari        |
| Chile          | null             | Gabriel Boric           |      
| India          | Narendra Modi    | Droupadi Murmu          |      
Unire i dati in SQL

LEFT JOIN o RIGHT JOIN?

  • RIGHT JOIN è meno usato di LEFT JOIN
  • Qualsiasi RIGHT JOIN si può riscrivere come LEFT JOIN
  • LEFT JOIN è più intuitivo da digitare da sinistra a destra
Unire i dati in SQL

Ayo berlatih!

Unire i dati in SQL

Preparing Video For Download...