SQLite AND/OR 运算符

我们已经学会了如何使用单个条件来列出记录,但现实生活中的条件往往比较复杂,比如要列出 age 大于等于 25 工资大于等于 65000.00 的所有记录要怎么做呢?

SQLite 提供了 ANDOR 运算符用于编译多个条件来缩小在 SQLite 语句中所选的数据。

这两个运算符被称为连接运算符。

这些运算符为同一个 SQLite 语句中不同的运算符之间的多个比较提供了可能。

AND 运算符

AND 运算符允许在一个 SQL 语句的 WHERE 子句中的多个条件的存在。

使用 AND 运算符时,只有当所有条件都为真(true)时,整个条件才为真(true)。 例如,只有当 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 表有以下记录:

sqlite> SELECT * FROM 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

1. 列出 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 运算符

OR 运算符也用于结合一个 SQL 语句的 WHERE 子句中的多个条件。 使用 OR 运算符时,只要当条件中任何一个为真(true)时,整个条件为真(true)。

例如,只要当 condition1 或 condition2 有一个为真(true)时,[condition1] OR [condition2] 为真(true)。

语法

带有 WHERE 子句的 OR 运算符的基本语法如下:

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

可以使用 OR 运算符来结合 N 个数量的条件。

SQLite 语句需要执行的动作是,无论是事务或查询,只要任何一个由 OR 分隔的条件为真(TRUE)即可

范例

假设 company 表有以下记录:

sqlite> SELECT * FROM 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

1. 列出 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

SQLite 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.