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