INTERSECT e EXCEPT
Combine dois resultados de consulta: mantenha as linhas encontradas em ambos (INTERSECT) ou só na primeira (EXCEPT).
Sintaxe
query1 INTERSECT query2;query1 EXCEPT query2;
- As duas consultas precisam ter o mesmo número de colunas, com tipos compatíveis.
- Ambas removem duplicatas. Adicione ALL para mantê-las. O Oracle chama EXCEPT de MINUS.
Exemplo
SELECT city FROM customers EXCEPT SELECT 'Paris' ORDER BY city;
Todas as cidades de clientes, exceto Paris.
Tabelas usadas: customers. Experimente em uma lição abaixo.
Erros comuns
- EXCEPT não é simétrico: A EXCEPT B é diferente de B EXCEPT A.
- Aqui, NULLs são considerados iguais, diferente de uma comparação normal.