Zusammenfassung: In diesem Tutorial lernen Sie, wie Sie die Oracle SELECT DISTINCT
-Anweisung verwenden, um eindeutige Daten aus Tabellen abzufragen.
Einführung in die Oracle SELECT DISTINCT-Anweisung
Die DISTINCT
-Klausel wird in einer SELECT
-Anweisung verwendet, um doppelte Zeilen in der Ergebnismenge zu filtern. Sie stellt sicher, dass die zurückgegebenen Zeilen für die in der SELECT
-Klausel angegebene(n) Spalte(n) eindeutig sind.
Die folgende Abbildung veranschaulicht die Syntax der SELECT DISTINCT
-Anweisung:
In dieser Anweisung werden die Werte in der column_1
der table
verglichen, um die Duplikate zu ermitteln.
Um eindeutige Daten auf der Grundlage mehrerer Spalten abzurufen, müssen Sie lediglich die Spaltenliste in der SELECT
-Klausel wie folgt angeben:
In dieser Syntax wird die Kombination der Werte in column_1
, column_2
und column_3
verwendet, um die Eindeutigkeit der Daten zu bestimmen.
Die DISTINCT
-Klausel kann nur in der SELECT
-Anweisung verwendet werden.
Beachten Sie, dass DISTINCT
ein Synonym von UNIQUE
ist, das nicht dem SQL-Standard entspricht. Es ist eine gute Praxis, immer DISTINCT
anstelle von UNIQUE
zu verwenden.
Oracle SELECT DISTINCT Beispiele
Lassen Sie uns einige Beispiele für die Verwendung von SELECT DISTINCT
ansehen, um zu sehen, wie es funktioniert.
A) Oracle SELECT DISTINCT Beispiel für eine Spalte
Sehen Sie sich die Tabelle contacts
in der Beispieldatenbank an:
Das folgende Beispiel ruft alle Vornamen von Kontaktpersonen ab:
Die Abfrage gibt 319 Zeilen zurück, was bedeutet, dass die Tabelle contacts
319 Zeilen hat.
Um eindeutige Vornamen von Kontakten zu erhalten, fügen Sie der obigen SELECT
-Anweisung das Schlüsselwort DISTINCT
wie folgt hinzu:
Nun hat die Ergebnismenge 302 Zeilen, was bedeutet, dass 17 doppelte Zeilen entfernt wurden.
B) Oracle SELECT DISTINCT mehrere Spalten Beispiel
Sehen Sie sich die folgende Tabelle order_items
an:
Die folgende Anweisung wählt unterschiedliche Produkt-ID und Menge aus der Tabelle order_items
aus:
Das folgende Beispiel zeigt das Ergebnis:
In diesem Beispiel werden die beiden Werte der Spalten product_id
und quantity
für die Bewertung der Eindeutigkeit der Zeilen in der Ergebnismenge verwendet.
C) Oracle SELECT DISTINCT und NULL
Die DISTINCT
behandelt NULL-Werte als Duplikate von einander. Wenn Sie die Anweisung SELECT DISTINCT
verwenden, um Daten aus einer Spalte abzufragen, die viele NULL-Werte hat, enthält die Ergebnismenge nur einen NULL-Wert.
Siehe die Tabelle locations
in der Beispieldatenbank.
Die folgende Anweisung ruft Daten aus der Spalte state ab, die viele NULL-Werte hat:
Ergebnis:
Wie Sie sehen können, wird nur ein NULL-Wert zurückgegeben.
Bitte beachten Sie, dass Sie die GROUP BY
-Klausel verwenden sollten, wenn Sie die DISTINCT
-Anweisung auf einige Spalten anwenden und andere Spalten auslassen möchten.
In diesem Tutorial haben Sie gelernt, wie Sie die SELECT DISTINCT
-Anweisung verwenden, um eindeutige Daten auf der Grundlage einer oder mehrerer Spalten zu erhalten.
- War dieses Tutorial hilfreich?
- JaNein