SQLite 的 AND 和 OR 運(yùn)算符用于編譯多個(gè)條件來縮小在 SQLite 語句中所選的數(shù)據(jù)。這兩個(gè)運(yùn)算符被稱為連接運(yùn)算符。
這些運(yùn)算符為同一個(gè) SQLite 語句中不同的運(yùn)算符之間的多個(gè)比較提供了可能。
AND 運(yùn)算符允許在一個(gè) SQL 語句的 WHERE 子句中的多個(gè)條件的存在。使用 AND 運(yùn)算符時(shí),只有當(dāng)所有條件都為真(true)時(shí),整個(gè)條件為真(true)。例如,只有當(dāng) condition1 和 condition2 都為真(true)時(shí),[condition1] AND [condition2] 為真(true)。
帶有 WHERE 子句的 AND 運(yùn)算符的基本語法如下:
SELECT column1, column2, columnN
FROM table_name
WHERE [condition1] AND [condition2]...AND [conditionN];
您可以使用 AND 運(yùn)算符來結(jié)合 N 個(gè)數(shù)量的條件。SQLite 語句需要執(zhí)行的動(dòng)作是,無論是事務(wù)或查詢,所有由 AND 分隔的條件都必須為真(TRUE)。
假設(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
下面的 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 運(yùn)算符也用于結(jié)合一個(gè) SQL 語句的 WHERE 子句中的多個(gè)條件。使用 OR 運(yùn)算符時(shí),只要當(dāng)條件中任何一個(gè)為真(true)時(shí),整個(gè)條件為真(true)。例如,只要當(dāng) condition1 或 condition2 有一個(gè)為真(true)時(shí),[condition1] OR [condition2] 為真(true)。
帶有 WHERE 子句的 OR 運(yùn)算符的基本語法如下:
SELECT column1, column2, columnN
FROM table_name
WHERE [condition1] OR [condition2]...OR [conditionN]
您可以使用 OR 運(yùn)算符來結(jié)合 N 個(gè)數(shù)量的條件。SQLite 語句需要執(zhí)行的動(dòng)作是,無論是事務(wù)或查詢,只要任何一個(gè)由 OR 分隔的條件為真(TRUE)即可。
假設(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
下面的 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