Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Daten abfragen und ändern » Daten abfragen » Die Auswahlliste: Spalten angeben

 

Doppelte Abfrageergebnisse eliminieren

Mit dem optionalen DISTINCT-Schlüsselwort werden doppelte Zeilen aus den Ergebnissen einer SELECT-Anweisung eliminiert. Wenn Sie DISTINCT nicht angeben, werden alle Zeilen ausgegeben, auch Duplikatzeilen. Optional können Sie auch das Wort ALL vor die Auswahlliste setzen, um alle Zeilen zu erhalten. Aus Gründen der Kompatibilität mit anderen SQL-Implementierungen ermöglicht die Syntax von SQL Anywhere die Verwendung von ALL, um ausdrücklich alle Zeilen abzufragen. ALL ist der Standardwert.

Wenn Sie beispielsweise alle Städte der Tabelle "Contacts" ausgeben wollen, ohne DISTINCT zu verwenden, erhalten Sie 60 Zeilen:

SELECT City
FROM Contacts;

Sie können die Doppelzeilen durch DISTINCT eliminieren. Die folgende Abfrage gibt nur 16 Zeilen zurück:

SELECT DISTINCT City
FROM Contacts;
NULL ist nicht "distinct"-fähig

Das Schlüsselwort DISTINCT behandelt NULL als Duplikat. Wenn also DISTINCT in einer SELECT-Anweisung verwendet wird, enthält das Ergebnis nur ein Mal NULL, gleichgültig wie viele Zeilen mit NULL gefunden werden. Weitere Hinweise finden Sie unter Unnötige DISTINCT-Bedingungen eliminieren.