Zusammenfassung :In diesem Tutorial lernen Sie, wie Sie SQLite SELECT
verwenden -Anweisung zum Abfragen von Daten aus einer einzelnen Tabelle.
Die SELECT
-Anweisung ist eine der am häufigsten verwendeten Anweisungen in SQL. Die SQLite SELECT
-Anweisung bietet alle Funktionen der SELECT
Anweisung im SQL-Standard.
Einfache Verwendung von SELECT
Erklärung
Sie können den SELECT
verwenden -Anweisung, um eine einfache Berechnung wie folgt durchzuführen:
SELECT 1 + 1;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Sie können mehrere Ausdrücke in SELECT
verwenden Anweisung wie folgt:
SELECT
10 / 5,
2 * 4 ;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Abfragen von Daten aus einer Tabelle mit SELECT
Erklärung
Wir verwenden oft den SELECT
-Anweisung zum Abfragen von Daten aus einer oder mehreren Tabellen. Die Syntax von SELECT
Anweisung lautet wie folgt:
SELECT DISTINCT column_list
FROM table_list
JOIN table ON join_condition
WHERE row_filter
ORDER BY column
LIMIT count OFFSET offset
GROUP BY column
HAVING group_filter;
Code language: SQL (Structured Query Language) (sql)
Die SELECT
-Anweisung ist die komplexeste Anweisung in SQLite. Um das Verständnis der einzelnen Teile zu erleichtern, brechen wir den SELECT
Anweisung in mehrere leicht verständliche Tutorials.
- Verwenden Sie die ORDER BY-Klausel, um die Ergebnismenge zu sortieren
- Verwenden Sie die DISTINCT-Klausel, um eindeutige Zeilen in einer Tabelle abzufragen
- Verwenden Sie die WHERE-Klausel, um Zeilen in der Ergebnismenge zu filtern
- Verwenden Sie LIMIT OFFSET-Klauseln, um die Anzahl der zurückgegebenen Zeilen einzuschränken
- Verwenden Sie INNER JOIN oder LEFT JOIN, um Daten aus mehreren Tabellen mithilfe von Join abzufragen.
- Verwenden Sie GROUP BY, um die Gruppenzeilen in Gruppen zu gliedern, und wenden Sie die Aggregatfunktion für jede Gruppe an.
- Verwenden Sie die HAVING-Klausel, um Gruppen zu filtern
In diesem Tutorial konzentrieren wir uns auf die einfachste Form von SELECT
-Anweisung, mit der Sie Daten aus einer einzelnen Tabelle abfragen können.
SELECT column_list
FROM table;
Code language: SQL (Structured Query Language) (sql)
Obwohl die SELECT
-Klausel steht vor dem FROM
-Klausel wertet SQLite den FROM
aus -Klausel zuerst und dann SELECT
Klausel, also:
- Spezifizieren Sie zuerst die Tabelle, aus der Sie Daten im
FROM
erhalten möchten Klausel. Beachten Sie, dass Sie mehr als eine Tabelle imFROM
haben können Klausel. Wir werden es im folgenden Tutorial besprechen. - Zweitens geben Sie eine Spalte oder eine Liste von durch Kommas getrennten Spalten im
SELECT
an Klausel.
Mit dem Semikolon (;) beenden Sie die Anweisung.
SQLite SELECT
Beispiele
Werfen wir einen Blick auf die tracks
Tabelle in der Beispieldatenbank.
Die tracks
Tabelle enthält Spalten und Zeilen. Es sieht aus wie eine Tabelle.
Um Daten aus der Titeltabelle wie Titel-ID, Titelname, Komponist und Stückpreis abzurufen, verwenden Sie die folgende Anweisung:
SELECT
trackid,
name,
composer,
unitprice
FROM
tracks;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Sie geben im SELECT
einen Listenspaltennamen an, für den Sie Daten abrufen möchten -Klausel und die tracks
Tabelle in FROM
Klausel. SQLite gibt das folgende Ergebnis zurück:
Um Daten aus allen Spalten zu erhalten, geben Sie die Spalten der tracks
an Tabelle in der SELECT
Klausel wie folgt:
SELECT
trackid,
name,
albumid,
mediatypeid,
genreid,
composer,
milliseconds,
bytes,
unitprice
FROM
tracks;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Bei einer Tabelle mit vielen Spalten wäre die Abfrage so lang, dass die Eingabe zeitaufwändig wäre. Um dies zu vermeiden, können Sie das Sternchen (*) verwenden, das wie folgt für alle Spalten der Tabelle steht:
SELECT * FROM tracks;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus
Die Abfrage ist jetzt kürzer und sauberer.
Allerdings…
Sie sollten das Sternchen (*) nur zu Testzwecken verwenden, nicht in der eigentlichen Anwendungsentwicklung.
Weil…
Wenn Sie eine Anwendung entwickeln, sollten Sie steuern, was SQLite an Ihre Anwendung zurückgibt. Angenommen, eine Tabelle hat 3 Spalten, und Sie verwenden das Sternchen (*), um die Daten aus allen drei Spalten abzurufen.
Wenn jemand eine Spalte entfernt, würde Ihre Anwendung nicht richtig funktionieren, da sie davon ausgeht, dass drei Spalten zurückgegeben werden und die Logik zur Verarbeitung dieser drei Spalten fehlerhaft wäre.
Wenn jemand mehr Spalten hinzufügt, funktioniert Ihre Anwendung möglicherweise, aber sie erhält mehr Daten als benötigt, wodurch mehr I/O-Overhead zwischen der Datenbank und der Anwendung entsteht.
Versuchen Sie also, das Sternchen (*) als gute Angewohnheit zu vermeiden, wenn Sie SELECT
verwenden Erklärung.
In diesem Tutorial haben Sie gelernt, wie Sie eine einfache Form des SQLite SELECT
verwenden -Anweisung zum Abfragen von Daten aus einer einzelnen Tabelle.