📜  SQLite-AND&OR运算符

📅  最后修改于: 2021-01-04 04:59:24             🧑  作者: Mango


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

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

AND运算子

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

句法

以下是带有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并且薪水大于或等于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运算符还用于在SQLite语句的WHERE子句中组合多个条件。使用OR运算符,如果至少有一个条件为true,则将假定完全条件为true。例如,如果condition1或condition2为true,则[condition1]或[condition2]将为true。

句法

以下是带有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薪金大于或等于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