SQL WHERE 子句

WHERE 子句用于规定选择的标准。


WHERE 子句

如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。

语法SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

下面的运算符可在 WHERE 子句中使用:

操作符
描述
=
等于
<>
不等于
>
大于
<
小于
>=
大于等于
<=
小于等于
BETWEEN
在某个范围内
LIKE
搜索某种模式
注释:在某些版本的 SQL 中,操作符 <> 可以写为 !=。
使用 WHERE 子句

如果只希望选取居住在城市 "Beijing" 中的人,我们需要向 SELECT 语句添加 WHERE 子句:

SELECT * FROM Persons WHERE City='Beijing'
"Persons" 表

LastName
FirstName
Address
City
Year
Adams
John
Oxford Street
London
1970
Bush
George
Fifth Avenue
New York
1975
Carter
Thomas
Changan Street
Beijing
1980
Gates
Bill
Xuanwumen 10
Beijing
1985

结果

LastName
FirstName
Address
City
Year
Carter
Thomas
Changan Street
Beijing
1980
Gates
Bill
Xuanwumen 10
Beijing
1985

引号的使用

请注意,我们在例子中的条件值周围使用的是单引号。
SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。

文本值:这是正确的:SELECT * FROM Persons WHERE FirstName='Bush' 这是错误的:SELECT * FROM Persons WHERE FirstName=Bush
数值:这是正确的:SELECT * FROM Persons WHERE Year>1965 这是错误的:SELECT * FROM Persons WHERE Year>'1965'

SQL AND & OR 运算符

AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤。

AND 和 OR 运算符

AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

原始的表 (用在例子中的):

LastName
FirstName
Address
City
Adams
John
Oxford Street
London
Bush
George
Fifth Avenue
New York
Carter
Thomas
Changan Street
Beijing
Carter
William
Xuanwumen 10
Beijing

AND 运算符实例

使用 AND 来显示所有姓为 "Carter" 并且名为 "Thomas" 的人:

SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'
结果

LastName
FirstName
Address
City
Carter
Thomas
Changan Street
Beijing

OR 运算符实例

使用 OR 来显示所有姓为 "Carter" 或者名为 "Thomas" 的人:

SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter'
结果

LastName
FirstName
Address
City
Carter
Thomas
Changan Street
Beijing
Carter
William
Xuanwumen 10
Beijing

结合 AND 和 OR 运算符

我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式):

SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William')AND LastName='Carter'
结果

LastName
FirstName
Address
City
Carter
Thomas
Changan Street
Beijing
Carter
William
Xuanwumen 10
Beijing

最新文章

  1. Manifesto of the Communist Party
  2. 不同java 版本的新功能
  3. linux 驱动学习笔记01--Linux 内核的编译
  4. SlickGrid example 3b: 支持撤销操作的编辑单元
  5. hdu-----(4857)逃生(拓扑排序)
  6. Twisted 阐述
  7. Javascript中String、Array常用方法介绍
  8. bootloader启动代码init.s解析----IRQ中断处理函数
  9. 写一个程序,乞讨1+2*2+3*3+n*n值 Java
  10. T-shirts Distribution
  11. Notification的基本用法以及使用RemoteView实现自定义布局
  12. Spring 4学习——问题与注意事项(一)
  13. 求指定区间内与n互素的数的个数 容斥原理
  14. RxJava系列6(从微观角度解读RxJava源码)
  15. CSS---选择器种类 | 层叠性权重
  16. WebForm应用log4net记录错误日志——使用线程列队写入
  17. 阿里云服务器安装postgresql
  18. c#静态构造函数 与 构造函数 你是否还记得?(转载)
  19. Oracle 数据库 dbConsole 配置笔记
  20. 【Java入门提高篇】Day19 Java容器类详解(二)Map接口

热门文章

  1. Yii 2.x 日志记录器-类图
  2. 同比 VS 环比
  3. 模块化你的JS代码
  4. VS2012 Unit Test——Microsoft Fakes入门
  5. UICollectionViewCell定制Button
  6. TabLayout+ViewPager+Fragment制作页卡
  7. servlet应用及知识点总结
  8. reborn to freelancer
  9. [AlwaysOn Availability Groups]AG排查和监控指南
  10. Python:版本升级