← Oracle Database SQL: consultas e operação
01 / 8 · 40 MIN

Modelo, SELECT e população do resultado

Define a granularidade e interpreta corretamente seleção, NULL e ordenação.

Conceito e mecanismo

Uma linha deve representar uma entidade ou evento com identidade definida. Repetir atributos de um fundo em cada posição pode produzir atualizações contraditórias; uma tabela de fundos referenciada por chave torna essa dependência explícita. A consulta projeta colunas e expressões sobre essas relações. DISTINCT elimina repetições da projeção, não identifica automaticamente movimentos de negócio duplicados. Se projetas apenas amount, movimentos diferentes com o mesmo montante podem tornar-se uma linha. NULL representa informação ausente ou desconhecida: aritmética comum com NULL produz NULL e o teste de ausência usa IS NULL. Na semântica Oracle atual, texto de comprimento zero é tratado como NULL, enquanto um espaço é um caráter real.

Aplicação guiada

Num relatório fictício, escreve primeiro a população pretendida: fundos incluídos, estados aceites e unidade de cada linha. Usa parênteses para tornar clara a combinação de AND e OR. Literais de texto usam aspas simples; identificadores delimitados usam aspas duplas e podem exigir a caixa exata. Um alias melhora apresentação sem mudar os dados. A concatenação constrói texto e tem comportamento próprio com NULL, por isso não generalizes a regra aritmética a todos os operadores. Para obter uma página estável, define ORDER BY com um desempate único antes de limitar linhas. Testa casos com montantes iguais, valores ausentes e empates para demonstrar que o resultado cumpre a regra acordada.

NA PRÁTICA

SELECT movement_id, amount FROM movements WHERE fund_id = 17 AND status IN ('PENDING','FAILED') ORDER BY movement_id;

Armadilhas comuns

DISTINCT como deduplicação de negócio; NULL como zero; ordem física como contrato; aspas duplas como texto.

Tópicos relacionados: Funções, conversões e contratos de dados · Joins, granularidade e agregação · Subqueries, conjuntos e top-N

Leva esta ideia contigo

Valida identidade, população e ordem antes de interpretar o resultado.

Criar conta

Referência: Selection ordering and row limits · 1Z0-071 public objectives inspected 2026-09-30; revision date not published

Oracle® é uma marca registada da Oracle e/ou das suas afiliadas. A dr.pt é uma plataforma de preparação independente e não está afiliada, associada, patrocinada, autorizada nem aprovada por Oracle. Os conteúdos e as perguntas são originais, não são perguntas oficiais de exame, e concluir os nossos testes não atribui nem garante qualquer certificação. Os nomes são usados apenas para identificar o tema. Todas as outras marcas pertencem aos respetivos titulares.