Junções à esquerda e à direita (LEFT/RIGHT JOIN)

Junção de dados no SQL

Maham Faisal Khan

Senior Content Developer, Data Science

Diagrama de uma INNER

Diagrama de uma INNER JOIN com base (ON) no campo id

Diagrama repetido de uma lição anterior mostrando duas tabelas, left_table e right_table, e o conjunto de resultados depois que uma junção interna é realizada nas duas tabelas. Os registros que não são de interesse para a junção interna estão em cinza.

Junção de dados no SQL

Diagrama inicial de uma LEFT

  • A LEFT JOIN retorna todos os registros da tabela da esquerda e os registros da tabela da direita que correspondem ao campo de junção fornecido.
    Diagrama de uma LEFT JOIN com base (ON) no campo id

Diagrama mostrando duas tabelas, a tabela da esquerda e a da direita, com setas apontando para os registros com coluna id correspondente nas duas tabelas. Os registros que não são de interesse para a junção à esquerda estão em cinza.

Junção de dados no SQL

Diagrama de uma LEFT

Diagrama de uma LEFT JOIN com base (ON) no campo id

Diagrama que mostra duas tabelas, a tabela esquerda e a tabela direita, e o conjunto de resultados depois que uma junção à esquerda é realizada nessas tabelas. Os registros que não são de interesse para a junção à esquerda estão em cinza.

Junção de dados no SQL

Sintaxe da LEFT

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

Observação: LEFT JOIN também pode ser escrito como 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                    | 
...
Junção de dados no SQL

RIGHT JOIN

Diagrama de uma RIGHT JOIN com base (ON) no campo id

Diagrama que mostra duas tabelas, a tabela da esquerda e a tabela da direita, e o conjunto de resultados depois que uma junção à direita é realizada nessas tabelas. Os registros que não são de interesse para a junção à direita estão em cinza.

Junção de dados no SQL

Sintaxe da RIGHT

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

Observação: RIGHT JOIN também pode ser escrito como RIGHT OUTER JOIN.

Junção de dados no SQL

RIGHT com presidentes e primeiros-ministros

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          |      
Junção de dados no SQL

LEFT ou JOIN?

  • RIGHT JOIN costuma ser menos usado do que LEFT JOIN
  • Qualquer RIGHT JOIN pode ser reescrita como uma LEFT JOIN
  • LEFT JOIN parece mais intuitivo para os usuários ao digitar da esquerda para a direita
Junção de dados no SQL

Vamos praticar!

Junção de dados no SQL

Preparing Video For Download...