Zusammenfassung :In diesem Tutorial lernen Sie, wie Sie den SQLite SELECT DISTINCT
verwenden -Klausel zum Entfernen doppelter Zeilen in der Ergebnismenge.
Einführung in SQLite SELECT DISTINCT
Klausel
Der DISTINCT
-Klausel ist eine optionale Klausel von SELECT
Erklärung. Der DISTINCT
-Klausel können Sie die doppelten Zeilen in der Ergebnismenge entfernen.
Die folgende Anweisung veranschaulicht die Syntax von DISTINCT
Klausel:
SELECT DISTINCT select_list
FROM table;
Code language: SQL (Structured Query Language) (sql)
In dieser Syntax:
- Zunächst der
DISTINCT
-Klausel muss unmittelbar nach demSELECT
stehen Schlüsselwort. - Zweitens platzieren Sie eine Spalte oder eine Liste von Spalten nach
DISTINCT
Stichwort. Wenn Sie eine Spalte verwenden, verwendet SQLite Werte in dieser Spalte, um das Duplikat auszuwerten. Falls Sie mehrere Spalten verwenden, verwendet SQLite die Kombination von Werten in diesen Spalten, um das Duplikat auszuwerten.
SQLite berücksichtigt NULL
Werte als Duplikate. Wenn Sie den DISTINCT
verwenden -Klausel mit einer Spalte, die NULL
enthält Werten behält SQLite eine Zeile mit NULL
Wert.
In der Datenbanktheorie, wenn eine Spalte NULL
enthält Werte, bedeutet dies, dass uns die Informationen zu dieser Spalte bestimmter Datensätze nicht vorliegen oder die Informationen nicht zutreffend sind.
Zum Beispiel, wenn ein Kunde eine Telefonnummer mit einem NULL
hat Wert, bedeutet dies, dass wir zum Zeitpunkt der Erfassung der Kundeninformationen keine Informationen über die Telefonnummer des Kunden haben oder der Kunde möglicherweise überhaupt keine Telefonnummer hat.
SQLite SELECT DISTINCT
Beispiele
Wir verwenden die customers
Tabelle in der Beispieldatenbank zur Demonstration.
Angenommen, Sie möchten wissen, in welchen Städten sich die Kunden befinden, können Sie SELECT
verwenden -Anweisung, um Daten von city
zu erhalten Spalte der customers
Tabelle wie folgt:
SELECT city
FROM customers
ORDER BY city;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Es gibt 59 Zeilen zurück. Es gibt wenige doppelte Zeilen wie Berlin
London
, und Mountain View
Um diese doppelten Zeilen zu entfernen, verwenden Sie den DISTINCT
Klausel wie folgt:
SELECT DISTINCT city
FROM customers
ORDER BY city;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Es gibt 53 Zeilen zurück, weil DISTINCT
-Klausel hat 6 doppelte Zeilen entfernt.
SQLite SELECT DISTINCT
auf mehreren Spalten
Die folgende Anweisung findet Städte und Länder aller Kunden.
SELECT
city,
country
FROM
customers
ORDER BY
country;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Der Ergebnissatz enthält doppelte Stadt und Land, z. B. Sao Paulo in Brasilien, wie im obigen Screenshot gezeigt.
Um Duplikate von Stadt und Land zu entfernen, wenden Sie den DISTINCT
an -Klausel sowohl in der Stadt- als auch in der Länderspalte, wie in der folgenden Abfrage gezeigt:
SELECT DISTINCT
city,
country
FROM
customers
ORDER BY
country;
Code language: SQL (Structured Query Language) (sql)
Hier ist die Teilausgabe:
Wie bereits erwähnt, verwendet SQLite die Kombination aus Stadt und Land, um das Duplikat auszuwerten.
SQLite SELECT DISTINCT
mit NULL
Beispiel
Diese Anweisung gibt die Firmennamen von Kunden aus customers
zurück Tabelle.
SELECT company
FROM customers;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Es gibt 59 Zeilen mit vielen NULL
zurück Werte.
Wenn Sie nun den DISTINCT
anwenden -Klausel zur Anweisung, wird nur eine Zeile mit einem NULL
beibehalten Wert.
Siehe folgende Anweisung:
SELECT DISTINCT company
FROM customers;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Die Anweisung gibt 11 Zeilen mit einem NULL
zurück Wert.
Beachten Sie, dass Sie GROUP BY
verwenden können, wenn Sie eine Liste von Spalten aus einer Tabelle auswählen und eine eindeutige Kombination einiger Spalten erhalten möchten Klausel.
In diesem Lernprogramm haben Sie gelernt, wie Sie mit SQLite SELECT DISTINCT
doppelte Zeilen aus einer Ergebnismenge entfernen Klausel.