编辑这个页面须要登录或更高权限!

SQLite AND&OR 运算符

SQLite ANDOR运算符用于编译多个条件,以缩小SQLite语句中选定数据的范围。这两个运算符称为合取运算符。

这些运算符提供了一种在同一SQLite语句中与不同运算符进行多次比较的方法。

AND运算符

AND 运算符允许多个条件在SQLite的声明中存在的WHERE子句。使用AND运算符时,当所有条件都为真时,将假定完全条件为真。例如,仅当condition1和condition2均为true时,[condition1] AND [condition2]才为true。

语法

以下是带有WHERE子句的AND运算符的基本语法。

SELECT column1, column2, columnN FROM table_nameWHERE [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 AND 薪水(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运算符时,如果至少有一个条件为true,则将假定完全条件为true。例如,如果condition1或condition2为true,则[condition1]或[condition2]将为true。

语法

以下是带有WHERE子句的OR运算符的基本语法。

SELECT column1, column2, columnN FROM table_nameWHERE [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 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