SELECT UNIQUEist eine alte Syntax, die von Oracle SQL unterstützt wird. Es ist gleichbedeutend mit SELECT DISTINCT.
Verwendung, SELECT DISTINCTda dies Standard-SQL ist und SELECT UNIQUEnicht Standard ist und in anderen Datenbankmarken als Oracle SELECT UNIQUEmöglicherweise überhaupt nicht erkannt wird.
Eindeutig ist ein Schlüsselwort, das in der Anweisung Create Table () verwendet wird, um anzugeben, dass ein Feld eindeutige Daten enthält, die normalerweise für natürliche Schlüssel, Fremdschlüssel usw. verwendet werden.
dh Die Sozialversicherungsnummer von jemandem ist wahrscheinlich ein eindeutiges Feld in Ihrer Tabelle, aber nicht unbedingt der Primärschlüssel.
Distinct wird in der Select-Anweisung verwendet, um die Abfrage zu benachrichtigen, dass die eindeutigen Elemente nur zurückgegeben werden sollen, wenn ein Feld Daten enthält, die möglicherweise nicht eindeutig sind.
SelectDistinct Emp_LNameFrom Employee
Möglicherweise haben Sie viele Mitarbeiter mit demselben Nachnamen, aber Sie möchten nur jeden unterschiedlichen Nachnamen.
Wenn das von Ihnen abgefragte Feld eindeutige Daten enthält, wird das Schlüsselwort Distinct offensichtlich überflüssig.
Möglicherweise möchten Sie, dass die Sozialversicherungsnummern eindeutig sind, dies ist jedoch nicht der Fall. ZB: dailyfinance.com/2010/08/12/…
aij
18
select unique ist keine gültige Syntax für das, was Sie tun möchten
Sie möchten entweder "Auswählen" oder "Auswählen" auswählen
Und tatsächlich brauchen Sie nicht einmal einen Unterschied in dem, was Sie versuchen zu tun. Sie können Duplikate entfernen, indem Sie die entsprechenden Parameter für die Union-Anweisung auswählen.
Die folgende Abfrage allein liefert nur unterschiedliche Werte
select col from table1
unionselect col from table2
Wenn Sie Duplikate wollten, müssten Sie tun
select col from table1
unionallselect col from table2
Einzigartig war die alte Syntax, während Distinct die neue Syntax ist, die jetzt die Standard-SQL ist.
Unique erstellt eine Einschränkung, dass sich alle einzufügenden Werte von den anderen unterscheiden müssen. Ein Fehler kann auftreten, wenn versucht wird, einen doppelten Wert einzugeben.
Deutlich führt zum Entfernen der doppelten Zeilen beim Abrufen von Daten.
Beispiel: SELECT DISTINCT names FROM student;
TABELLE ERSTELLEN Personen (Id varchar NOT NULL UNIQUE , Name varchar (20));
select unique ist keine gültige Syntax für das, was Sie tun möchten
Sie möchten entweder "Auswählen" oder "Auswählen" auswählen
Und tatsächlich brauchen Sie nicht einmal einen Unterschied in dem, was Sie versuchen zu tun. Sie können Duplikate entfernen, indem Sie die entsprechenden Parameter für die Union-Anweisung auswählen.
Die folgende Abfrage allein liefert nur unterschiedliche Werte
Wenn Sie Duplikate wollten, müssten Sie tun
quelle
select unique...
, obwohl ich es vorziehen würde, die Standards so zu machen.Nur in Oracle =>
SELECT DISTINCT
undSELECT UNIQUE
verhalten sich genauso. Während DISTINCT der ANSI SQL-Standard ist, ist UNIQUE eine Oracle-spezifische Anweisung.In anderen Datenbanken (wie in Ihrem Fall SQL-Server) =>
SELECT UNIQUE
ist eine ungültige Syntax.UNIQUE
ist das Schlüsselwort zum Hinzufügen einer eindeutigen Einschränkung für die Spalte.SELECT DISTINCT
quelle
Beispiel: SELECT DISTINCT names FROM student;
TABELLE ERSTELLEN Personen (Id varchar NOT NULL UNIQUE , Name varchar (20));
quelle