Sqlite 简明教程
SQLite - AND & OR Operators
SQLite AND 和 OR 运算符用于编译多个条件以缩小 SQLite 语句中选定数据的范围。这两个运算符称为 conjunctive operators 。
这些运算符提供了一种在同一 SQLite 语句中用不同的运算符进行多次比较的方法。
The AND Operator
AND 运算符允许在 SQLite 语句的 WHERE 子句中存在多个条件。在使用 AND 运算符时,当所有条件都为真时,完整的条件将被假定为真。例如,只有当 condition1 和 condition2 均为真时,才为 true。
Syntax
以下是带 WHERE 子句的 AND 运算符的基本语法。
SELECT column1, column2, columnN
FROM table_name
WHERE [condition1] AND [condition2]...AND [conditionN];
你可以使用 AND 运算符合并 N 个条件。对于 SQLite 语句要执行的操作,无论其为事务还是查询,由 AND 分隔的所有条件都必须为 TRUE。
Example
考虑具有以下记录的 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 AND 薪水大于或等于 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
The OR Operator
OR 运算符也用于在 SQLite 语句的 WHERE 子句中合并多个条件。在使用 OR 运算符时,当至少满足其中任何一个条件时,完整的条件将被假定为真。例如,当 condition1 或 condition2 为真时,[condition1] OR [condition2] 为真。
Syntax
以下是带有 WHERE 子句的 OR 运算符的基本语法。
SELECT column1, column2, columnN
FROM table_name
WHERE [condition1] OR [condition2]...OR [conditionN]
你可以使用 OR 运算符合并 N 个条件。对于 SQLite 语句要执行的操作,无论其为事务还是查询,由 OR 分隔的所有条件中只需任意一个为 TRUE。
Example
考虑具有以下记录的 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 OR 薪水大于或等于 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