国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

characters

SQLite Where 子句


SQLite的 WHERE 子句用于指定從一個表或多個表中獲取數(shù)據(jù)的條件。

如果滿足給定的條件,即為真(true)時,則從表中返回特定的值。您可以使用 WHERE 子句來過濾記錄,只獲取需要的記錄。

WHERE 子句不僅可用在 SELECT 語句中,它也可用在 UPDATE、DELETE 語句中,等等,這些我們將在隨后的章節(jié)中學(xué)習(xí)到。

語法

SQLite 的帶有 WHERE 子句的 SELECT 語句的基本語法如下:

SELECT?column1,?column2,?columnN?
FROM?table_name
WHERE?[condition]

實例

您還可以使用比較或邏輯運算符指定條件,比如 >、<、=、LIKE、NOT,等等。假設(shè) 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

下面的實例演示了 SQLite 邏輯運算符的用法。下面的 SELECT 語句列出了 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 語句列出了 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 語句列出了 AGE 不為 NULL 的所有記錄,結(jié)果顯示所有的記錄,意味著沒有一個記錄的 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 語句列出了 NAME 以 'Ki' 開始的所有記錄,'Ki' 之后的字符不做限制:

sqlite>?SELECT?*?FROM?COMPANY?WHERE?NAME?LIKE?'Ki%';
ID??????????NAME????????AGE?????????ADDRESS?????SALARY
----------??----------??----------??----------??----------
6???????????Kim?????????22??????????South-Hall??45000.0

下面的 SELECT 語句列出了 NAME 以 'Ki' 開始的所有記錄,'Ki' 之后的字符不做限制:

sqlite>?SELECT?*?FROM?COMPANY?WHERE?NAME?GLOB?'Ki*';
ID??????????NAME????????AGE?????????ADDRESS?????SALARY
----------??----------??----------??----------??----------
6???????????Kim?????????22??????????South-Hall??45000.0

下面的 SELECT 語句列出了 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 語句列出了 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 語句列出了 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 語句使用 SQL 子查詢,子查詢查找 SALARY > 65000 的帶有 AGE 字段的所有記錄,后邊的 WHERE 子句與 EXISTS 運算符一起使用,列出了外查詢中的 AGE 存在于子查詢返回的結(jié)果中的所有記錄:

sqlite>?SELECT?AGE?FROM?COMPANY?
????????WHERE?EXISTS?(SELECT?AGE?FROM?COMPANY?WHERE?SALARY?>?65000);
AGE
----------
32
25
23
25
27
22
24

下面的 SELECT 語句使用 SQL 子查詢,子查詢查找 SALARY > 65000 的帶有 AGE 字段的所有記錄,后邊的 WHERE 子句與 > 運算符一起使用,列出了外查詢中的 AGE 大于子查詢返回的結(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

Previous article: Next article: