sexta-feira, 11 de março de 2011

UNIQUE ou DISTINCT?

Use DISTINCT ou UNIQUE para exigir que as colunas em que o índice baseia-se aceitar apenas os dados únicos. Se você não especificar a palavra-chave UNIQUE ou DISTINCT, o índice vai permitir valores duplicados nas colunas indexadas ( ou um conjunto de colunas indexadas). O exemplo abaixo cria um índice único:
CREATE UNIQUE INDEX c_num_ix ON customer (customer_num)
Um índice único impede valores duplicados na coluna customer_num. A coluna com um índice único pode ter, no máximo, um valor NULL.

A palavra-chave DISTINCT e UNIQUE são sinônimos neste contexto, a declaração abaixo tem o mesmo efeito da declaração acima:
CREATE DISTINCT INDEX c_num_ix ON customer (customer_num)
Os índices em ambos os exemplos é mantida em ordem ascendente, qual é a ordem padrão.

Você também pode evitar dados duplicados em uma coluna ou um conjunto de colunas criando um UNIQUE CONSTRAINT com a declaração CREATE TABLE ou ALTER TABLE.

Em uma Query você pode evitar as linhas duplicadas de dados no resultado retornado incluindo a palavra-chave DISTINCT, ou o seu sinônimo UNIQUE, em seu comando SELECT. UNIQUE é uma extensão do IBM Informix para o padrão ANSI.

Quando você usa a palavra-chave DISTINCT ou UNIQUE, você deve coloca-la imediatamente apos o comando SELECT, no inicio de seleção. Ele é aplicado para toda a linha.

A palavra-chave DISTINCT ou UNIQUE, suprime os valores duplicados.

Nenhum comentário:

Postar um comentário