Das beste SQLite subquery-Tutorial im Jahr 2024. In diesem Tutorial können Sie SELECT-Anweisung subquery,Beispiele,INSERT-Anweisung subquery,Beispiele,UPDATE-Anweisung subquery,Beispiele,DELETE-Anweisung subquery,Beispiele, lernen
Subquery oder verschachtelte Abfragen oder interne Abfrage wird in der Abfrage WHERE-Klausel in einer anderen SQLite Abfrage eingebettet.
Die Verwendung von Unterabfrage gibt die Daten werden in der Hauptabfrage als Bedingung für die Daten abgerufen werden, begrenzen, um weiter verwendet werden.
Unterabfragen können mit SELECT, INSERT, UPDATE und DELETE-Anweisungen durch die Verwendung Operatoren wie = begleitet verwendet werden kann, <,>,> =, <=, IN, wie ZWISCHEN.
Das Folgende ist eine Unterabfrage mehrere Regeln, die befolgt werden müssen:
Subqueries müssen in Klammern gesetzt werden.
Sub-Abfrage SELECT-Klausel kann nur eine Spalte haben, es sei denn, mehrere Spalten in der Hauptabfrage, die ausgewählte Spalte subquery Vergleich.
ORDER BY kann nicht in einer Unterabfrage verwendet werden, obwohl die Hauptabfrage ORDER BY verwenden können. Sie können die GROUP BY in Unterabfragen verwenden, funktioniert die gleiche wie die ORDER BY.
Unterabfrage gibt mehr als eine Zeile, kann nur mit Mehrwertoperator, wie die IN-Operator verwendet werden.
ZWISCHEN Bediener nicht mit Unterabfragen verwendet werden können, kann jedoch zwischen in Unterabfragen verwendet werden.
Subquery ist in der Regel mit einer SELECT-Anweisung verwendet. Die grundlegende Syntax lautet wie folgt:
SELECT column_name [, Spaltenname] FROM table1 [, table2] WHERE column_name OPERATOR (SELECT column_name [, Spaltenname] FROM table1 [, table2] [WHERE])
Angenommen COMPANY Tabelle hat die folgenden Einträge:
ID Name Alter ADRESSE GEHALT ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20.000,0 2 Allen 25 Texas 15.000,0 3 Teddy 23 Norwegen 20.000,0 4 Mark 25 Reiche-Mond 65.000,0 5 David 27 Texas 85.000,0 6 Kim 22 Süd-Halle 45.000,0 7 James 24 Houston 10000.0
Lassen Sie uns nun die SELECT-Anweisung subquery untersuchen:
sqlite> SELECT * VON UNTERNEHMEN WHERE ID IN (SELECT ID VON UNTERNEHMEN WHERE GEHALT> 45000);
Daraus ergeben sich die folgenden Ergebnisse:
ID Name Alter ADRESSE GEHALT ---------- ---------- ---------- ---------- ---------- 4 Mark 25 Reiche-Mond 65.000,0 5 David 27 Texas 85.000,0
Unterabfragen können auch mit INSERT-Anweisung verwendet werden. INSERT-Anweisung verwendet eine Unterabfrage Daten in eine andere Tabelle zurückzukehren. In Unterabfrage können die ausgewählten Daten werden jedes Zeichen, das Datum oder numerische Funktion Änderung.
Die grundlegende Syntax lautet wie folgt:
INSERT INTO table_name [(column1 [, column2])] SELECT [* | column1 [, column2] FROM table1 [, table2] [WHERE VALUE Operator]
Angenommen COMPANY_BKP COMPANY Tabellenstruktur und ähnliche, und kann die gleiche CREATE TABLE verwenden, um zu erstellen, ändern Sie einfach den Namen der Tabelle COMPANY_BKP. Jetzt das gesamte Unternehmen Tabelle COMPANY_BKP kopieren, Syntax lautet wie folgt:
INSERT sqlite> INTO COMPANY_BKP SELECT * FROM UNTERNEHMEN WHERE ID IN (SELECT ID VON UNTERNEHMEN);
Unterabfragen können mit der UPDATE-Anweisung verwendet werden. Wenn eine Unterabfrage UPDATE-Anweisung verwendet wird, werden einzelne oder mehrere Spalten in der Tabelle aktualisiert.
Die grundlegende Syntax lautet wie folgt:
UPDATE Tisch SET column_name = new_value [WHERE Operator [VALUE] (SELECT COLUMN_NAME VON TABLE_NAME) [WHERE)]
Nehmen wir an, dass wir COMPANY_BKP Tabelle, Backup COMPANY Tisch.
Die folgenden Beispiele der Tabelle FIRMA alle Alters als oder gleich 27 Kunden GEHALT das Original 0,50-fach aktualisiert:
sqlite> UPDATE COMPANY SET GEHALT = GEHALT * 0,50 WO AGE IN (SELECT Alter von COMPANY_BKP WO AGE> = 27);
Dadurch werden die beiden Linien der letzten COMPANY Datensätze in der Tabelle wie folgt auswirken:
ID Name Alter ADRESSE GEHALT ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 10000.0 2 Allen 25 Texas 15.000,0 3 Teddy 23 Norwegen 20.000,0 4 Mark 25 Reiche-Mond 65.000,0 5 David 27 Texas 42.500,0 6 Kim 22 Süd-Halle 45.000,0 7 James 24 Houston 10000.0
Unterabfragen können mit der DELETE-Anweisung, genau wie andere Aussagen wie oben erwähnt, verwendet werden.
Die grundlegende Syntax lautet wie folgt:
DELETE FROM TABLE_NAME [WHERE Operator [VALUE] (SELECT COLUMN_NAME VON TABLE_NAME) [WHERE)]
Nehmen wir an, dass wir COMPANY_BKP Tabelle, Backup COMPANY Tisch.
Die folgenden Beispiele löschen alle Kundendaten größer oder gleich 27 Jahre COMPANY Tabelle:
sqlite> FROM UNTERNEHMEN DELETE WO AGE IN (SELECT Alter von COMPANY_BKP WO AGE> 27);
Dadurch werden die beiden Linien der letzten COMPANY Datensätze in der Tabelle wie folgt auswirken:
ID Name Alter ADRESSE GEHALT ---------- ---------- ---------- ---------- ---------- 2 Allen 25 Texas 15.000,0 3 Teddy 23 Norwegen 20.000,0 4 Mark 25 Reiche-Mond 65.000,0 5 David 27 Texas 42.500,0 6 Kim 22 Süd-Halle 45.000,0 7 James 24 Houston 10000.0