SELECT UNIQUEé uma sintaxe antiga suportada pelo sabor do SQL da Oracle. É sinônimo de SELECT DISTINCT.
Use SELECT DISTINCTporque esse é o SQL padrão e SELECT UNIQUEnão é o padrão, e em marcas de banco de dados que não sejam Oracle, SELECT UNIQUEtalvez não sejam reconhecidas.
Unique é uma palavra-chave usada na diretiva Create Table () para indicar que um campo conterá dados exclusivos, geralmente usados para chaves naturais, chaves estrangeiras etc.
ou seja, o número de segurança social de alguém provavelmente seria um campo exclusivo na sua tabela, mas não necessariamente a chave primária.
Distinct é usado na instrução Select para notificar a consulta que você deseja que apenas os itens exclusivos sejam retornados quando um campo contém dados que podem não ser exclusivos.
SelectDistinct Emp_LName
From Employee
Você pode ter muitos funcionários com o mesmo sobrenome, mas deseja apenas cada sobrenome diferente.
Obviamente, se o campo que você está consultando tiver dados exclusivos, a palavra-chave Distinct se tornará supérflua.
Você pode querer que os números de previdência social sejam únicos, mas não são. Por exemplo: dailyfinance.com/2010/08/12/…
17/09/2015
18
selecionar exclusivo não é uma sintaxe válida para o que você está tentando fazer
você deseja usar selecionar distinto ou selecionar distinctrow
E, na verdade, você nem precisa de um distinto / distinto no que está tentando fazer. Você pode eliminar duplicatas escolhendo os parâmetros de instrução de união apropriados.
a consulta abaixo por si só fornecerá valores distintos
select col from table1
unionselect col from table2
se você quisesse duplicatas, teria que fazer
select col from table1
unionallselect col from table2
Unique era a sintaxe antiga, enquanto Distinct é a nova sintaxe, que agora é o sql padrão.
Unique cria uma restrição de que todos os valores a serem inseridos devem ser diferentes dos outros. Um erro pode ser testemunhado se alguém tentar inserir um valor duplicado.
Resultados distintos na remoção das linhas duplicadas durante a recuperação de dados.
Exemplo: SELECT DISTINCT names FROM student;
CRIAR TABELA Pessoas (Id varchar NÃO NULL ÚNICO , Nome varchar (20));
selecionar exclusivo não é uma sintaxe válida para o que você está tentando fazer
você deseja usar selecionar distinto ou selecionar distinctrow
E, na verdade, você nem precisa de um distinto / distinto no que está tentando fazer. Você pode eliminar duplicatas escolhendo os parâmetros de instrução de união apropriados.
a consulta abaixo por si só fornecerá valores distintos
se você quisesse duplicatas, teria que fazer
fonte
select unique...
, embora eu prefira seguir os padrões.Somente no Oracle =>
SELECT DISTINCT
eSELECT UNIQUE
se comportar da mesma maneira. Enquanto DISTINCT é o padrão ANSI SQL, UNIQUE é uma instrução específica do Oracle.Em outros bancos de dados (como sql-server no seu caso) =>
SELECT UNIQUE
é uma sintaxe inválida.UNIQUE
é a palavra-chave para adicionar restrição exclusiva na coluna.SELECT DISTINCT
fonte
Exemplo: SELECT DISTINCT names FROM student;
CRIAR TABELA Pessoas (Id varchar NÃO NULL ÚNICO , Nome varchar (20));
fonte