sqlite
Datenbankverwendung; eingebettete relationale Datenbank
Englisch [we?(r)] amerikanisch [wer]
adv .anstelle von...n.Ort, Ortpron.wo
SQLite Where-Funktion Syntax
Funktion: Die WHERE-Klausel von SQLite wird verwendet, um die Bedingungen zum Abrufen von Daten aus einer Tabelle oder mehreren Tabellen anzugeben. Wenn die angegebene Bedingung erfüllt ist, also wahr ist, wird ein bestimmter Wert aus der Tabelle zurückgegeben. Mit der WHERE-Klausel k?nnen Sie Datens?tze filtern und nur die ben?tigten Datens?tze abrufen.
Syntax: SELECT Spalte1, Spalte2, SpalteN FROM Tabellenname WHERE [Bedingung]
SQLite Where-Funktion Beispiel
COMPANY 表有以下記錄: ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0 下面的實(shí)例演示了 SQLite 邏輯運(yùn)算符的用法。下面的 SELECT 語(yǔ)句列出了 AGE 大于等于 25 且工資大于等于 65000.00 的所有記錄: sqlite> SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 下面的 SELECT 語(yǔ)句列出了 AGE 大于等于 25 或工資大于等于 65000.00 的所有記錄: sqlite> SELECT * FROM COMPANY WHERE AGE >= 25 OR SALARY >= 65000; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 下面的 SELECT 語(yǔ)句列出了 AGE 不為 NULL 的所有記錄,結(jié)果顯示所有的記錄,意味著沒(méi)有一個(gè)記錄的 AGE 等于 NULL: sqlite> SELECT * FROM COMPANY WHERE AGE IS NOT NULL; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0 下面的 SELECT 語(yǔ)句列出了 NAME 以 'Ki' 開(kāi)始的所有記錄,'Ki' 之后的字符不做限制: sqlite> SELECT * FROM COMPANY WHERE NAME LIKE 'Ki%'; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 6 Kim 22 South-Hall 45000.0 下面的 SELECT 語(yǔ)句列出了 NAME 以 'Ki' 開(kāi)始的所有記錄,'Ki' 之后的字符不做限制: sqlite> SELECT * FROM COMPANY WHERE NAME GLOB 'Ki*'; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 6 Kim 22 South-Hall 45000.0 下面的 SELECT 語(yǔ)句列出了 AGE 的值為 25 或 27 的所有記錄: sqlite> SELECT * FROM COMPANY WHERE AGE IN ( 25, 27 ); ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 2 Allen 25 Texas 15000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 下面的 SELECT 語(yǔ)句列出了 AGE 的值既不是 25 也不是 27 的所有記錄: sqlite> SELECT * FROM COMPANY WHERE AGE NOT IN ( 25, 27 ); ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 3 Teddy 23 Norway 20000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0 下面的 SELECT 語(yǔ)句列出了 AGE 的值在 25 與 27 之間的所有記錄: sqlite> SELECT * FROM COMPANY WHERE AGE BETWEEN 25 AND 27; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 2 Allen 25 Texas 15000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 下面的 SELECT 語(yǔ)句使用 SQL 子查詢(xún),子查詢(xún)查找 SALARY > 65000 的帶有 AGE 字段的所有記錄,后邊的 WHERE 子句與 EXISTS 運(yùn)算符一起使用,列出了外查詢(xún)中的 AGE 存在于子查詢(xún)返回的結(jié)果中的所有記錄: sqlite> SELECT AGE FROM COMPANY WHERE EXISTS (SELECT AGE FROM COMPANY WHERE SALARY > 65000); AGE ---------- 32 25 23 25 27 22 24 下面的 SELECT 語(yǔ)句使用 SQL 子查詢(xún),子查詢(xún)查找 SALARY > 65000 的帶有 AGE 字段的所有記錄,后邊的 WHERE 子句與 > 運(yùn)算符一起使用,列出了外查詢(xún)中的 AGE 大于子查詢(xún)返回的結(jié)果中的年齡的所有記錄: sqlite> SELECT * FROM COMPANY WHERE AGE > (SELECT AGE FROM COMPANY WHERE SALARY > 65000); ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0