开发学院

您的位置:首页>教程>正文

教程正文

SQLite AND/OR 操作符

SQLite AND/OR 操作符

  AND和OR运算符用于匹配多个条件,以缩小SQLite语句中所选数据的范围。这两个运算符称为合取运算符。

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

AND 操作符

  AND 操作符允许在SQLite语句的WHERE子句中存在多个条件。当使用AND运算符时,当所有条件都为真时,将假设完整条件为真。例如,只有当条件1和条件2都为真时,[条件1 ]和[条件2 ]才为真。

语法

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语句列出年龄大于等于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 操作符也用于组合SQLite语句的WHERE子句中的多个条件。当使用OR运算符时,如果至少有一个条件为真,则完全条件将被假定为真。例如,如果条件1或条件2为真,则[条件1 ]或[条件2 ]为真。

语法

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

  可以使用OR运算符组合N个条件。对于要由SQLite语句执行的操作,无论是事务还是查询,只有由OR分隔的任何一个条件都必须为真。

例子

  假设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语句列出年龄大于等于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