Dieses SQL-Tutorial konzentriert sich auf das SQL-Schlüsselwort DISTINCT in Oracle und bietet Erklärungen, Beispiele und Übungen. Die Übungen zu dieser Lektion finden Sie unter diesem Link.

Dieses Tutorial ist Teil mehrerer Beiträge, in denen erklärt wird, wie man grundlegende Abfragen in Oracle schreibt. Um weitere Beiträge zu diesem Thema zu lesen, verwenden Sie bitte die folgenden Links:

  • Schreiben grundlegender SQL SELECT-Anweisungen
  • SQL-Arithmetische Operatoren
  • SQL-Spaltenalias
  • SQL-Zeichenkettenverkettung
  • SQL-Schlüsselwort DISTINCT

Das Oracle-Schlüsselwort DISTINCT

Die Standardanzeige von Oracle-Abfragen sind alle Zeilen, einschließlich doppelter Zeilen. Das Oracle-Schlüsselwort DISTINCT in der SELECT-Klausel wird verwendet, um doppelte Zeilen zu eliminieren und eine eindeutige Liste von Werten anzuzeigen.

Angenommen, wir haben eine Tabelle Kunden, die eine Liste von Kunden aus verschiedenen Städten enthält: 40 Kunden aus London, 30 aus Liverpool und 30 aus Manchester. Sie wurden gebeten, die Liste der Städte anzuzeigen, in denen diese Kunden ansässig sind:

SELECT cityFROM customers

Diese Oracle-Anweisung ist nicht sehr hilfreich, da sie 100 Zeilen abruft (London kommt 40-mal, Liverpool 30-mal und Manchester 30-mal vor), während unsere Absicht war, nur 3 Zeilen anzuzeigen.

Um dieses Problem zu lösen und nur eindeutige Werte abzurufen, verwenden Sie das Oracle-Schlüsselwort DISTINCT:

SELECT DISTINCT column_nameFROM table_name SELECT DISTINCT cityFROM customers

Das Ergebnis:

CITY------LondonLiverpoolManchester

Hinweis: Das Oracle-Schlüsselwort DISTINCT sollte unmittelbar nach dem Oracle-Schlüsselwort SELECT eingefügt werden.

Oracle DISTINCT Statement on Multiple Columns

Nach dem Oracle DISTINCT-Schlüsselwort ist es möglich, mehr als eine Spalte anzugeben. Der Oracle DISTINCT-Qualifier wirkt sich auf alle ausgewählten Spalten aus, wobei das Ergebnis die eindeutige Kombination von Werten aus den verschiedenen Spalten anzeigt. Zum Beispiel eine Liste von Kunden aus verschiedenen Städten und Ländern:

Kundenname Stadt Land
John Smith Liverpool England
Sophia Williams London England
Emma Miller Liverpool England
Olivia Wilson Paris Frankreich
Logan Davis Paris Frankreich

Sie können sehen, dass es zwei Kunden aus Liverpool-England, zwei Kunden aus Paris-Frankreich, und ein weiterer Kunde aus London-England.

Die Ausführung der Oracle DISTINCT-Anweisung auf die Spalte Land führt zum Abruf von 2 Zeilen (England, Paris).

SELECT DISTINCT countryFROM customers

Die Ausführung der Oracle DISTINCT-Anweisung auf die Spalte Stadt führt zum Abruf von 3 Zeilen (Liverpool, London, Paris).

SELECT DISTINCT city FROM customers

Wenn Sie die Oracle DISTINCT-Anweisung sowohl für die Spalte „Stadt“ als auch für die Spalte „Land“ ausführen:

SELECT DISTINCT city , countryFROM customers

Drei Ergebnisse werden abgerufen – Liverpool England, London England, Paris Frankreich.

Schreibe einen Kommentar

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