SQLite - AND & OR 運算子



SQLite 的AND & OR 運算子用於組合多個條件,以縮小 SQLite 語句中選擇的資料範圍。這兩個運算子稱為連線運算子

這些運算子提供了一種方法,可以在同一個 SQLite 語句中使用不同的運算子進行多個比較。

AND 運算子

AND 運算子允許在 SQLite 語句的 WHERE 子句中存在多個條件。使用 AND 運算子時,只有當所有條件都為真時,整個條件才會被認為是真。例如,[condition1] AND [condition2] 只有在 condition1 和 condition2 都為真時才為真。

語法

以下是帶有 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 並且 salary 大於或等於 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 運算子也用於在 SQLite 語句的 WHERE 子句中組合多個條件。使用 OR 運算子時,只要其中任何一個條件為真,整個條件就會被認為是真。例如,[condition1] OR [condition2] 如果 condition1 或 condition2 中的任何一個為真,則為真。

語法

以下是帶有 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 或者 salary 大於或等於 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
廣告