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';
运行实例»