Teoria de conjuntos para junções SQL

Junção de dados no SQL

Maham Faisal Khan

Senior Content Developer, DataCamp

Diagramas de Venn e teoria dos conjuntos

Figura mostrando três diagramas de Venn: UNION, INTERSECT e EXCEPT. O diagrama UNION tem dois círculos sobrepostos totalmente coloridos de verde. O diagrama INTERSECT tem dois círculos sobrepostos, mas somente a parte sobreposta está colorida de verde. No diagrama EXCEPT, apenas a parte do círculo esquerdo que não tem nada em comum com o círculo direito está colorida de verde.

Junção de dados no SQL

Diagramas de Venn e teoria dos conjuntos

Imagem que mostra três diagramas de Venn, com dois parcialmente apagados. Somente o diagrama com UNION está em foco. O diagrama UNION tem dois círculos sobrepostos, totalmente coloridos de verde.

Junção de dados no SQL

Diagrama de uma UNION

  • UNION recebe duas tabelas como entrada e retorna todos os registros das duas tabelas

Diagrama mostrando duas tabelas, à esquerda e à direita. No lado direito do diagrama, há uma ilustração do que acontece quando uma operação UNION é realizada nas duas tabelas.

Junção de dados no SQL

Diagrama de uma UNION ALL

  • UNION ALL pega duas tabelas e retorna todos os registros das duas, incluindo repetições

Diagrama mostrando duas tabelas, à esquerda e à direita. No lado direito do diagrama, há uma ilustração do que acontece quando uma operação UNION ALL é realizada nas duas tabelas.

Junção de dados no SQL

Sintaxe de UNION e UNION ALL

Sintaxe da UNION

SELECT *
FROM left_table
UNION
SELECT *
FROM right_table;

Sintaxe da UNION ALL

SELECT *
FROM left_table
UNION ALL
SELECT *
FROM right_table;
Junção de dados no SQL

Sintaxe de UNION e UNION ALL

Diagrama mostrando duas tabelas, à esquerda e à direita. No lado direito do diagrama, há uma ilustração do que acontece quando uma operação UNION é realizada nas duas tabelas. As setas indicam que a tabela da esquerda e a da direita precisam ter o mesmo número de colunas com os mesmos tipos de campo.

Junção de dados no SQL

Sintaxe de UNION e UNION ALL

Diagrama mostrando duas tabelas, à esquerda e à direita. No lado direito do diagrama, há uma ilustração do que acontece quando uma operação UNION é realizada nas duas tabelas. As setas indicam que a tabela da esquerda e a da direita precisam ter o mesmo número de colunas com os mesmos tipos de campo. No lado direito, o conjunto de resultados é mostrado, destacando que o nome do campo continua sendo o da tabela direita, mesmo que tenha um nome alternativo.

Junção de dados no SQL

Rumo à tabela dos monarcas

SELECT *
FROM monarchs;
| country        | continent   | monarch                 |
|----------------|-------------|-------------------------|
| Brunei         | Asia        | Hassanal Bolkiah        |
| Oman           | Asia        | Haitham bin Tarik       |
| Norway         | Europe      | Harald V                |
| United Kingdom | Europe      | Charles III             |
Junção de dados no SQL

Os primeiros-ministros encontram os monarcas

SELECT monarch AS leader, country
FROM monarchs
UNION
SELECT prime_minister, country
FROM prime_ministers
ORDER BY country, leader
LIMIT 10;
Junção de dados no SQL

Após a UNION

|-------------------------|----------------|
| leader                  | country        |
|-------------------------|----------------|
| Anthony Albanese        | Australia      |
| Hassanal Bolkiah        | Brunei         |
| Mostafa Madbouly        | Egypt          |
| Narendra Modi           | India          |
| Christopher Luxon       | New Zealand    |
| Harald V                | Norway         |
| Jonas Gahr Støre        | Norway         |
| Haitham bin Tarik       | Oman           |
| Shehbaz Sharif          | Pakistan       |
| Luís Montenegro         | Portugal       |
|-------------------------|----------------|
Junção de dados no SQL

UNION ALL com os líderes

SELECT monarch AS leader, country
FROM monarchs
UNION ALL
SELECT prime_minister, country
FROM prime_ministers
ORDER BY leader, country
LIMIT 10;
Junção de dados no SQL

Resultado de UNION ALL

| leader                  | country        |
|-------------------------|----------------|
| Anthony Albanese        | Australia      |
| Hassanal Bolkiah        | Brunei         |
| Hassanal Bolkiah        | Brunei         |
| Mostafa Madbouly        | Egypt          |
| Narendra Modi           | India          |
| Christopher Luxon       | New Zealand    |
| Harald V                | Norway         |
| Jonas Gahr Støre        | Norway         |
| Haitham bin Tarik       | Oman           |
| Haitham bin Tarik       | Oman           |
Junção de dados no SQL

Vamos praticar!

Junção de dados no SQL

Preparing Video For Download...