UNION e UNION ALL

Empilhe as linhas de duas consultas em um único resultado. UNION remove repetições; UNION ALL as mantém.

Sintaxe

SELECT … UNION SELECT …;
SELECT … UNION ALL SELECT …;
  • As duas consultas devem retornar o mesmo número de colunas, com tipos compatíveis.

Exemplo

SELECT city FROM customers UNION SELECT category FROM products;

Cada cidade e cada categoria de produto, listadas uma vez.

Tabelas usadas: customers, products. Experimente em uma lição abaixo.

Erros comuns

  • Os nomes das colunas vêm da primeira consulta. Dê aliases a elas ali.
  • UNION é mais lento que UNION ALL porque precisa remover duplicatas. Use UNION ALL quando repetições não tiverem problema.

Pratique