Índice

 

Predicados ALL, DISTINCT, DISTINCTROW, TOP

ALL - Retorna todos os registros que satisfaçam ao critério da consulta. É assumido por padrão se não for informado. Em consultas de união de várias subconsultas (uso da palavra UNION) use ALL para retornar todos os registros, pois em consultas de união, o padrão é retornar somente os registros distintos.

DISTINCT - No conjunto de dados retornados, retorna apenas linhas que sejam diferentes ao menos por um campo de todas as demais. No exemplo abaixo, se houver mais de um funcionário com um mesmo nome, apenas um será retornado.

SELECT DISTINCT Nome FROM Funcionarios

DISTINCTROW - Pode retornar linhas repetidas no conjunto de dados retornados, mas apenas aquelas que sejam provenientes de registros que difiram entre si ao menos por um campo nas tabelas de origem independente deste campo estar selecionado ou não na consulta. No exemplo abaixo, se houver mais de um funcionário com o mesmo nome, o nome será retornado quantas vezes houver funcionário com aquele nome, pois os registros de funcionários diferem na tabela de origem pelo menos pelo campo Codigo, apesar de o campo Codigo não estar selecionado na consulta.

SELECT DISTINCTROW Nome From Funcionarios

TOP n [PERCENT] - Retorna os primeiros n registros encontrados que satisfaçam ao critério da consulta. Também pode ser usada a palavra reservada PERCENT para indicar que o número n refere-se a um percentual do total de registros encontrados. Exemplos:

SELECT TOP 5 Nome, Codigo FROM Funcionarios WHERE Codigo < 50 ou

SELECT TOP 5 PERCENT Nome, Codigo FROM Funcionarios WHERE Codigo < 50