SQL SELECT DISTINCT– So entfernen Sie doppelte Werte aus Datenabfragen
Mit SQL SELECT DISTINCT
stellen Sie sicher, dass Sie bei Datenabfragen nur eindeutige Datensätze und Zeilen in den Ergebnissen erhalten. SELECT DISTINCT
entfernt Duplikate aus ausgewählten Datensätzen und Zeilen und optimiert die Genauigkeit und Übersichtlichkeit Ihrer Datenanalyse.
Was ist SQL SELECT DISTINCT
?
SELECT DISTINCT
ist ein SQL-Verarbeitungsoperator, der in Verbindung mit dem Befehl SQL SELECT zum Einsatz kommt. Der Befehl SELECT
wählt in Datenabfragen eine oder mehrere Spalten und Datensätze aus. In Kombination mit dem Operator DISTINCT
stellen Sie sicher, dass es in Ihrem Abfrageergebnis nur eindeutige, unterschiedliche Zeilen gibt und doppelte Zeilen und Werte entfernt werden. Indem Sie SELECT DISTINCT
mit weiteren SQL-Operatoren und SQL-Befehlen kombinieren, können Sie Ihre Abfragen nach individuellen Anforderungen anpassen.
Unterschied zwischen SQL SELECT DISTINCT
und SELECT UNIQUE
UNIQUE
(einzigartig) und DISTINCT
(unterscheidbar) ähneln sich in ihrer Wortbedeutung zwar, erfüllen als SQL-Operatoren jedoch verschiedene Funktionen. Um SQL SELECT DISTINCT
richtig anzuwenden, sollten Sie daher wissen, wie sich beide Operatoren unterscheiden:
SQL SELECT DISTINCT | SQL SELECT UNIQUE |
---|---|
Prüft ganze Datensätze auf doppelte Zeilen und Werte, entfernt Redundanzen und gibt in Ergebnissen nur unterscheidbare, eindeutige Ergebnisse aus | Eignet sich, um in ausgewählten Tabellen und Spalten durch Spaltenbeschränkungen das Eintragen von Duplikaten und doppelten Werten zu unterbinden |
Kommt für eindeutige, aussagekräftige Ergebnisse vorrangig bei Auswertung, Analyse und Vergleich von Datensätzen zum Einsatz | Kommt bei der Erstellung und Bearbeitung von Tabellen zum Einsatz, um bessere Datenintegrität ohne Redundanzen zu gewährleisten |
Sie wollen schnell in die Programmier- und Datenbanksprache SQL einsteigen? Unsere SQL-Einführung mit Beispielen verrät Ihnen die wichtigsten Funktionen und Grundlagen von SQL.
Die Syntax von SELECT DISTINCT
erklärt
Die einfache SELECT DISTINCT
-Syntax sieht wie folgt aus:
SELECT DISTINCT SpalteA, SpalteB, …
FROM tabelle
sqlDiese Parameter kommen zum Einsatz:
-
SELECT DISTINCT
: Der BefehlSELECT
in Verbindung mit dem OperatorDISTINCT
wählt die Spalten aus, aus denen Sie in Ihrem Ergebnis Duplikate entfernen möchten. -
FROM
: Wählt die Tabelle aus, in der Sie Spalten auf Duplikate durchsuchen möchten. -
WHERE
: Mit der optionalen Klausel SQL WHERE können Sie durch zusätzliche Bedingungen, die Datenabfrage auf relevante Werte begrenzen.
Für diese Anwendungen eignet sich SELECT DISTINCT
Die Einsatzmöglichkeiten für Abfragen mit SQL SELECT DISTINCT
sind nahezu unbegrenzt. Sie können zum Beispiel:
- Kunden-, Bestell-, Patienten- oder Produktdaten, die mehrfach in Zeilen auftauchen, auf jeweils einen eindeutigen Eintrag reduzieren
- Anzahl der Käufe von Produkten anhand der Bestellungen und Produkt-ID zählen und eindeutig aufzeigen
- Eindeutige Patienten- oder Kundendaten abrufen
- Alle Lieferadressen oder Lieferanten in einer Region anzeigen
Sie möchten Ihre Webprojekte mit einem skalierbaren Datenbankmanagementsystem auf sichere Beine stellen? Dann nutzen Sie SQL-Server-Hosting von IONOS und entdecken Sie individuelle Server- und Hosting-Angebote - inklusive deutschen Standards für Datenschutz.
- Bis zu 1 Gbit/s Bandbreite & unbegrenzt Traffic
- Schneller NVMe-SSD-Speicher
- Kostenlose Plesk Web Host Edition
Praktische Beispiele für SQL SELECT DISTINCT
Um zu veranschaulichen, wie SQL SELECT DISTINCT
funktioniert, erklären wir Ihnen den Operator an zwei praktischen Anwendungsbeispielen.
Alle Kundinnen und Kunden abrufen
Sie möchten in einer Tabelle „Bestellungen“ alle Kundinnen und Kunden eindeutig abrufen, ohne doppelte Zeilen durch Mehrfachbestellungen. Gehen Sie wie folgt vor:
SELECT DISTINCT Kundenname
FROM Bestellungen
sqlFiltern von Kundinnen und Kunden aus einer bestimmten Region
Mit der WHERE
-Klausel können Sie die Auswertung von Kundendaten durch zusätzliche Bedingungen näher definieren. Möchten Sie zum Beispiel in der Tabelle „Bestellungen“ alle Kundennamen abrufen, die aus Deutschland stammen, gehen Sie wie folgt vor:
SELECT DISTINCT Kundennamen, Land
FROM Bestellungen
WHERE Land = 'Deutschland'
sqlAlternativen zu SQL SELECT DISTINCT
Obwohl es sich bei SELECT DISTINCT
um einen praktischen Weg handelt, Duplikate aus Datenabfragen zu entfernen, stellt DISTINCT
nicht immer die beste Lösung dar. Da der Operator bei großen Datensätzen relativ viele Ressourcen durch den Vergleich jeder einzelnen ausgewählten Spalte erfordert, bietet es sich an, Alternativen mit ähnlicher Funktion zu wählen. Dazu zählen:
-
GROUP BY
: Mit der Klausel SQL GROUP BY gruppieren Sie gewünschte Datensätze aus angegebenen Spalten und präzisieren sie mit weiteren Funktionen und Operatoren. -EXISTS
: Mit SQL EXISTS prüfen sie, ob spezifische Werte und Datensätze in einer anderen Tabelle vorliegen. -
COUNT
: Indem SieDISTINCT
mit der Funktion SQL COUNT kombinieren, können Sie eindeutige Werte in Spalten zählen. -
SELECT
+FROM
+WHERE
: Mit einer Subquery, also einer verschachtelten Abfrage innerhalb einer anderen Abfrage, können Sie Ihre Ergebnisse besser eingrenzen. Hierzu wählen Sie in der Subquery mitSELECT
die betreffende Spalte aus, definieren mit FROM in welcher Tabelle sich die Spalte befindet und legen mitWHERE
die Bedingungen fest, die Ergebnisse erfüllen sollen.