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
Tipp

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
sql

Diese Parameter kommen zum Einsatz:

  • SELECT DISTINCT: Der Befehl SELECT in Verbindung mit dem Operator DISTINCT 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
Tipp

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.

vServer (VPS) von IONOS

Günstige und starke VPS für Webserver, Mailserver und eigene Anwendungen mit persönlichem Berater und 24/7 Support!

100 % SSD-Speicher
Bereit in 55 Sek.
SSL Zertifikat

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
sql

Filtern 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'
sql

Alternativen 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 Sie DISTINCT 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 mit SELECT die betreffende Spalte aus, definieren mit FROM in welcher Tabelle sich die Spalte befindet und legen mit WHERE die Bedingungen fest, die Ergebnisse erfüllen sollen.