跳到主要内容

SQL中的AND、OR和NOT运算符

提示
  1. SQL中的AND运算符:在SQL的WHEREHAVING子句中,AND运算符用于当所有给定条件均为真时选择数据。
  2. SQL中的OR运算符OR运算符用于在任一给定条件为真时选择数据,可以用来选择满足任一条件的数据记录。
  3. SQL中的NOT运算符NOT运算符用于选择给定条件为假时的数据,常用于排除特定条件的记录。在SQL语句中,ANDORNOT运算符可以组合使用,以实现复杂的查询条件。

SQL 中的 ANDORNOT 运算符用于 WHEREHAVING 子句。

SQL AND 运算符

SQL 的 AND 运算符在所有条件均为 TRUE 时选择数据。例如,


SELECT first_name, last_name
FROM Customers
WHERE country = 'USA' AND last_name = 'Doe';

这里,SQL 命令从 Customers 表中选择 countryUSA 并且 last_nameDoe 的所有客户的 first_namelast_name

如何在 SQL 中使用 AND 运算符?

SQL OR 运算符

SQL 的 OR 运算符在任一条件为 TRUE 时选择数据。例如,

-- 或姓氏为 'Doe' 的客户的名和姓

SELECT first_name, last_name
FROM Customers
WHERE country = 'USA' OR last_name = 'Doe';

这里,SQL 命令从 Customers 表中选择 countryUSAlast_nameDoe 的所有客户的 first_namelast_name

如何在 SQL 中使用 OR 运算符?

SQL NOT 运算符

SQL 的 NOT 运算符在给定条件为 FALSE 时选择数据。例如,


SELECT first_name, last_name
FROM Customers
WHERE NOT country = 'USA';

这里,SQL 命令从 Customers 表中选择 country 不是 USA 的所有客户的 first_namelast_name

如何在 SQL 中使用 NOT 运算符?

组合多个运算符

也可以在 SQL 语句中组合多个 ANDORNOT 运算符。

例如,假设我们想要选择 countryUSAUK,且 age 小于 26 的客户。


SELECT *
FROM Customers
WHERE (country = 'USA' OR country = 'UK') AND age < 26;

如何在 SQL 中同时使用 AND 和 OR 运算符?

示例:在 SQL 中组合多个运算符

让我们看另一个组合运算符的例子。


SELECT *
FROM customers
WHERE NOT country = 'USA' AND NOT last_name = 'Doe';

这里,SQL 命令从 Customers 表中选择 country 不是 USA 并且 last_name 不是 Doe 的所有客户。

如何在 SQL 中同时使用 AND 和 NOT 运算符?