轻松上手,快乐学习!

SQL AND, OR, NOT 运算符


SQL AND,OR和NOT运算符

WHERE子句可以与AND,OR和NOT运算符组合使用。

AND和OR运算符用于根据多个条件过滤记录:

  • 如果第一个条件与第二个条件都为TRUE,则AND运算符显示一条记录。
  • 如果第一个条件与第二个条件任何一个条件为TRUE,则OR运算符显示一条记录。
  • 如果条件前加NOT,则将不显示记录。

AND 语法

SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;

OR 语法

SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;

NOT 语法

SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;

演示数据库

以下是Northwind示例数据库中“Customers”表的选择:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constituciуn 2222 Mйxico D.F. 05021 Mexico
3 Antonio Moreno Taquerнa Antonio Moreno Mataderos 2312 Mйxico D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbkцp Christina Berglund Berguvsvдgen 8 Luleе S-958 22 Sweden

AND 实例

查询为家是"Germany' 城市为'Berlin'的记录 ":

实例

SELECT * FROM Customers
WHERE Country='Germany'AND City='Berlin';

运行实例 »


OR 实例

实例

查询城市是 "Berlin" 或者是 "Mьnchen"的记录:

SELECT * FROM Customers
WHERE City='Berlin'OR City='Mьnchen';

运行实例 »

实例

查询国家是 "Germany" 或者 "Spain"的记录:

SELECT * FROM Customers
WHERE Country='Germany'OR Country='Spain';

运行实例 »


NOT 实例

实例

查询国家不是"Germany"的记录:

SELECT * FROM Customers
WHERE NOT Country='Germany';

运行实例 »


同时使用 AND, OR and NOT

以下SQL语句选择“Customers”中的所有字段,其中country是“Germany”,city是“Berlin”或“Mьnchen”(使用括号表示复杂表达式):

实例

SELECT * FROM Customers
WHERE Country='Germany'AND (City='Berlin' OR City='Mьnchen');

运行实例»

以下SQL语句查询“Customers”中的所有字段,Country 不是 “Germany”,不是“USA”:

实例

SELECT * FROM Customers
WHERE NOT Country='Germany'AND NOT Country='USA';

运行实例»