SELECT UNIQUEto stara składnia obsługiwana przez język SQL firmy Oracle. Jest synonimem SELECT DISTINCT.
Użyj, SELECT DISTINCTponieważ jest to standardowy SQL i SELECT UNIQUEjest niestandardowy, aw bazach danych innych marek niż Oracle SELECT UNIQUEmoże w ogóle nie być rozpoznawany.
Unique to słowo kluczowe używane w dyrektywie Create Table () do oznaczenia, że pole będzie zawierało unikalne dane, zwykle używane dla kluczy naturalnych, kluczy obcych itp.
tj. czyjś numer ubezpieczenia społecznego prawdopodobnie byłby unikalnym polem w Twojej tabeli, ale niekoniecznie kluczem podstawowym.
Distinct jest używany w instrukcji Select, aby powiadomić zapytanie, że unikalne elementy mają być zwracane tylko wtedy, gdy pole zawiera dane, które mogą nie być unikalne.
SelectDistinct Emp_LNameFrom Employee
Możesz mieć wielu pracowników o tym samym nazwisku, ale chcesz mieć tylko inne nazwisko.
Oczywiście, jeśli pole, którego dotyczy zapytanie, zawiera unikalne dane, słowo kluczowe Distinct staje się zbędne.
Możesz chcieć, aby numery ubezpieczenia społecznego były niepowtarzalne, ale tak nie jest. Np .: dailyfinance.com/2010/08/12/…
aij
18
select unique jest nieprawidłową składnią dla tego, co próbujesz zrobić
chcesz użyć albo wybierz odrębne, albo wybierz odrębny wiersz
W rzeczywistości nie potrzebujesz nawet wyraźnego / wyraźnego postępu w tym, co próbujesz zrobić. Możesz wyeliminować duplikaty, wybierając odpowiednie parametry instrukcji składającej.
poniższe zapytanie samo w sobie zapewni tylko różne wartości
select col from table1 unionselect col from table2
jeśli chcesz mieć duplikaty, musisz to zrobić
select col from table1 unionallselect col from table2
Unique to stara składnia, podczas gdy Distinct to nowa składnia, która jest teraz standardowym sql.
Unique tworzy ograniczenie, że wszystkie wartości do wstawienia muszą różnić się od pozostałych. Próba wprowadzenia zduplikowanej wartości może spowodować wystąpienie błędu.
Wyraźne powoduje usunięcie zduplikowanych wierszy podczas pobierania danych.
Przykład: SELECT DISTINCT names FROM student;
UTWÓRZ TABELĘ Osoby (Id varchar NOT NULL UNIQUE , Name varchar (20));
select unique jest nieprawidłową składnią dla tego, co próbujesz zrobić
chcesz użyć albo wybierz odrębne, albo wybierz odrębny wiersz
W rzeczywistości nie potrzebujesz nawet wyraźnego / wyraźnego postępu w tym, co próbujesz zrobić. Możesz wyeliminować duplikaty, wybierając odpowiednie parametry instrukcji składającej.
poniższe zapytanie samo w sobie zapewni tylko różne wartości
jeśli chcesz mieć duplikaty, musisz to zrobić
źródło
select unique...
, chociaż wolałbym postępować zgodnie ze standardami.Tylko w Oracle =>
SELECT DISTINCT
iSELECT UNIQUE
zachowuj się w ten sam sposób. Chociaż DISTINCT jest standardem ANSI SQL, UNIQUE jest instrukcją specyficzną dla Oracle.W innych bazach danych (jak w twoim przypadku sql-server) =>
SELECT UNIQUE
ma nieprawidłową składnię.UNIQUE
jest słowem kluczowym służącym do dodawania unikalnego ograniczenia w kolumnie.SELECT DISTINCT
źródło
Przykład: SELECT DISTINCT names FROM student;
UTWÓRZ TABELĘ Osoby (Id varchar NOT NULL UNIQUE , Name varchar (20));
źródło