DevPath · Aprenda a programar ESPTEN

Conjuntos e funções

Operações de conjuntos

Trabalhar com conjuntos de linhas

Até agora cada consulta produzia um resultado. Os operadores de conjuntos combinam os resultados de duas instruções SELECT como se fossem conjuntos matemáticos. Eles são escritos entre as duas consultas:

SELECT nome FROM produtos
UNION
SELECT nome FROM liquidacao;

Regras comuns a todos

Para combinar duas consultas, ambas devem ter:

Os nomes das colunas do resultado vêm da primeira consulta.

UNION vs UNION ALL

SELECT categoria FROM produtos
UNION ALL
SELECT categoria FROM liquidacao;

INTERSECT e EXCEPT

SELECT nome FROM produtos
INTERSECT
SELECT nome FROM liquidacao;   -- produtos que também estão em liquidação

Como o UNION, os operadores INTERSECT e EXCEPT também removem duplicados por padrão.

ORDER BY em combinações

Um ORDER BY se aplica ao resultado completo da combinação, por isso ele vai no final, depois da última consulta (não dentro de cada SELECT):

SELECT nome FROM produtos
UNION
SELECT nome FROM liquidacao
ORDER BY nome;        -- ordena TODO o resultado combinado

Exemplos

UNION remove duplicados; UNION ALL os mantém

SELECT categoria FROM produtos
UNION
SELECT categoria FROM liquidacao
ORDER BY categoria;
Coloque isto em prática

O DevPath é um curso prático: aqui você lê a teoria; no app você a coloca em prática com exercícios que rodam de verdade, offline.

Comece grátis no app →
Trabalhar com NULL →