Conceito e mecanismo
Uma subquery pode fornecer um conjunto ou um valor escalar, e essa escolha impõe regras diferentes. A escalar devolve uma coluna de no máximo uma linha: zero linhas produz NULL, mais de uma produz erro. EXISTS testa a existência de correspondência sem multiplicar a linha externa por cada resultado interno. NOT IN exige cuidado quando a lista contém NULL, pois a lógica UNKNOWN pode eliminar resultados esperados. NOT EXISTS correlacionado pode expressar ausência com clareza, mas também deves definir o significado de uma chave externa NULL. Não troques operadores apenas para fazer desaparecer um erro sem confirmar qual população o negócio pretende.
Aplicação guiada
Numa reconciliação fictícia, UNION ALL conserva ocorrências de duas origens, enquanto UNION elimina duplicados da projeção. MINUS identifica valores do primeiro conjunto ausentes no segundo; inverter a ordem muda a pergunta. INTERSECT encontra a parte comum. As projeções devem ter número e grupos de tipos compatíveis. Guarda origem e chave estável quando precisas de explicar diferenças. Para top-N em sintaxe legada, não assumas que ROWNUM limitado no mesmo bloco é aplicado depois de ORDER BY: ordena numa subquery antes de limitar ou usa row limiting adequado. ROW_NUMBER permite numerar por partição, com ordem determinística. Funcionalidades adicionais da documentação 26ai não devem ser automaticamente assumidas em instalações 19c ou como novos objetivos do exame 1Z0-071.
SELECT id FROM expected MINUS SELECT id FROM received; identifica IDs esperados em falta, sem medir multiplicidade.
Armadilhas comuns
NOT IN com NULL; escalar como seleção automática; MINUS invertido; UNION como concatenação sem perdas; ROWNUM como ranking.
Tópicos relacionados: Modelo, SELECT e população do resultado · Funções, conversões e contratos de dados · Joins, granularidade e agregação
Escolhe o operador pela pergunta sobre os dados, incluindo duplicados e ausência.
Referência: Scalar cardinality · 1Z0-071 public objectives inspected 2026-09-30; revision date not published