SQL AND, OR and NOT(与,或不是运算符)

AND&OR运算符用于根据一个以上的条件过滤记录。


SQL AND & OR 运算符

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

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

  • 如果由AND分隔的所有条件为TRUE,则AND运算符显示记录。
  • 如果由OR分隔的任何条件为真,则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 运算符实例

以下SQL语句从 "Customers" 表中选择其国家为 "Germany" 、其城市为"Berlin" 的所有客户:

实例

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

OR 运算符实例

以下SQL语句选择城市为“Berlin”或“München”的“Customers”的所有字段:

实例

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

NOT 运算符实例

以下SQL语句选择国家不是 "Germany"的"Customers"的所有字段:

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

结合 AND & OR

您还可以组合AND和OR(使用括号来组成成复杂的表达式)。

以下SQL语句从国家 "Germany" 且城市为"Berlin" 或"München"的"Customers" 表中选择所有客户:

实例

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

结合AND,OR和NOT

你也可以结合AND,OR和NOT运算符。

以下SQL语句选择国家是“德国”的“客户”的所有字段,城市必须是“柏林”或“慕尼黑”(用括号形成复杂表达式):

代码示例:

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

以下SQL语句选择来自"Customers" 的国家不是 "Germany" 且不是 "USA"的所有字段:

代码示例:

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

本文转自:http://codingdict.com/article/6952

最新文章

  1. 关于Unity3D自定义编辑器的学习
  2. js条件判断时隐式类型转换
  3. js中this的使用
  4. 修改订单的收货时间(MySQL)脚本
  5. apache 80端口部属多站点配置
  6. [麦先生]初学Laravel框架与ThinkPHP的不同(1)
  7. MVC 直接把数据库的数据输出到view(太神奇了)
  8. eclipse引入tomcat
  9. Android: 启动init.rc 中service的权限问题【转】
  10. JS 图片预览功能
  11. 如何将windows版的vim界面语言(默认为中文)设置成英文
  12. .net core中的对象池
  13. flex 1与flex auto
  14. python 函数参数 *a **kw
  15. 理解JVM之Java内存区域
  16. Spring学习笔记一:基础概念
  17. HBase操作(Shell与Java API)
  18. C#抓取网络图片保存到本地
  19. Redis 【keys】 一句话说明
  20. Mybatis学习第四天——Mybatis与Spring整合

热门文章

  1. 【dart学习】之字典(Map)的相关方法总结
  2. 调用windows的复制文件对话框
  3. BZOJ 3926: [Zjoi2015]诸神眷顾的幻想乡(后缀自动机)
  4. 畜禽免疫系统使用LODOP打印
  5. 修改Mysql procedure,function and view definer
  6. Django框架(二十八)—— Django缓存机制
  7. Django框架(二十四)—— Django rest_framework-视图组件
  8. 深入理解javascript原型和闭包(1)——一切都是对象 (转载)
  9. Tengine-Ngnix高级版
  10. CF963