Latest web development tutorials

SQLite AND/OR 運算符

SQLite的AND和OR運算符用於編譯多個條件來縮小在SQLite語句中所選的數據。 這兩個運算符被稱為連接運算符。

這些運算符為同一個SQLite 語句中不同的運算符之間的多個比較提供了可能。

AND 運算符

AND運算符允許在一個SQL語句的WHERE子句中的多個條件的存在。使用AND 運算符時,只有當所有條件都為真(true)時,整個條件為真(true)。 例如,只有當condition1 和condition2 都為真(true)時,[condition1] AND [condition2] 為真(true)。

語法

帶有WHERE 子句的AND 運算符的基本語法如下:

SELECT column1, column2, columnN 
FROM table_name
WHERE [condition1] AND [condition2]...AND [conditionN];

您可以使用AND 運算符來結合N 個數量的條件。 SQLite 語句需要執行的動作是,無論是事務或查詢,所有由AND 分隔的條件都必須為真(TRUE)。

實例

假設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

下面的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

OR 運算符

OR運算符也用於結合一個SQL語句的WHERE子句中的多個條件。使用OR 運算符時,只要當條件中任何一個為真(true)時,整個條件為真(true)。 例如,只要當condition1 或condition2 有一個為真(true)時,[condition1] OR [condition2] 為真(true)。

語法

帶有WHERE 子句的OR 運算符的基本語法如下:

SELECT column1, column2, columnN 
FROM table_name
WHERE [condition1] OR [condition2]...OR [conditionN]

您可以使用OR 運算符來結合N 個數量的條件。 SQLite 語句需要執行的動作是,無論是事務或查詢,只要任何一個由OR 分隔的條件為真(TRUE)即可。

實例

假設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

下面的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