SQLite
 sql >> Datenbank >  >> RDS >> SQLite

SQLite Wählen Sie Eindeutig aus

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 dem SELECT 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.