Oracle SELECT DISTINCT

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.