MySQL DISTINCT Schlüsselwort
Das Schlüsselwort DISTINCT
wird in MySQL verwendet, um doppelte Datensätze aus den Ergebnissen einer SELECT
Abfrage zu entfernen. Sie stellt sicher, dass die Abfrage nur eindeutige Werte in den angegebenen Spalten zurückgibt.
Verwendung
Das Schlüsselwort DISTINCT
wird verwendet, wenn du sicherstellen willst, dass die Abfrageergebnisse nur eindeutige Einträge enthalten und alle doppelten Zeilen ausgeschlossen werden. Es wird direkt nach dem Schlüsselwort SELECT
platziert.
SELECT DISTINCT column1, column2, ...
FROM table_name;
In dieser Syntax wird DISTINCT
auf die angegebene(n) Spaltenkombination(en) angewendet, um sicherzustellen, dass nur eindeutige Kombinationen von Werten zurückgegeben werden.
Beispiele
1. Grundlegende Verwendung
SELECT DISTINCT country
FROM customers;
Diese Abfrage ruft eine Liste eindeutiger Länder aus der Tabelle customers
ab und eliminiert dabei alle Duplikate.
2. Mehrspaltig
SELECT DISTINCT first_name, last_name
FROM employees;
In diesem Beispiel stellt das Schlüsselwort DISTINCT
sicher, dass die Kombination aus first_name
und last_name
in den Ergebnissen eindeutig ist. Es können immer noch Zeilen mit demselben Vornamen, aber unterschiedlichen Nachnamen enthalten sein und umgekehrt.
3. Kombiniert mit WHERE-Klausel
SELECT DISTINCT category
FROM products
WHERE price > 50;
Hier wird das Schlüsselwort DISTINCT
mit einer WHERE
Klausel verwendet, um einzigartige Produktkategorien zu finden, bei denen der Preis größer als 50 ist, um sowohl die Spezifität als auch die Einzigartigkeit der Ergebnisse zu verbessern.
4. Kombiniert mit ORDER BY
SELECT DISTINCT department
FROM employees
ORDER BY department;
Dieses Beispiel zeigt, wie du DISTINCT
mit ORDER BY
verwendest, um eindeutige Abteilungsnamen abzurufen und eine bestimmte Reihenfolge in den Ergebnissen beizubehalten.
Tipps und bewährte Praktiken
- Verwende DISTINCT mit Vorsicht.
DISTINCT
entfernt zwar Duplikate, kann aber die Leistung beeinträchtigen, besonders bei großen Datensätzen. - Auf die erforderlichen Spalten anwenden. Verwende
DISTINCT
nur für Spalten, bei denen Eindeutigkeit erforderlich ist, um unnötigen Overhead zu vermeiden. - Kombiniere mit
ORDER BY
. Wenn nötig, kombiniereDISTINCT
mitORDER BY
, um eine bestimmte Reihenfolge in den Ergebnissen zu erhalten. - Achte auf NULLs.
DISTINCT
behandeltNULL
Werte als gleichwertig, so dass nur einNULL
für jede Spaltenkombination zurückgegeben wird, was sich auf die Ergebnisse auswirken kann, wenn mehrereNULL
s in mehreren Spalten vorhanden sind.