SQL WHERE 子句

WHERE 子句用于规定选择的标准。白话点就是:where用来过滤掉不满足条件的记录(把所有存储在数据库中的数据称之为记录),获取满足条件的记录。

WHERE 子句

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

语法

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值;

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

操作符描述
=Equal
<>不等于
>大于
<小于
>=大于等于
<=小于等于
BETWEEN在某个范围内
LIKE搜索某种模式

注释:在某些版本的 SQL 中,操作符 <> 可以写为 !=。

使用WHERE子句

如果只需选取居住于城市 "Sandnes" 中的某些人,我们需要向 SELECT 语句添加 WHERE 子句:

SELECT * FROM Persons WHERE City='Sandnes';

"Persons" 表

LastNameFirstNameAddressCityYear
HansenOlaTimoteivn 10Sandnes1951
SvendsonToveBorgvn 23Sandnes1978
SvendsonStaleKaivn 18Sandnes1980
PettersenKariStorgt 20Stavanger1960

结果:

LastNameFirstNameAddressCityYear
HansenOlaTimoteivn 10Sandnes1951
SvendsonToveBorgvn 23Sandnes1978
SvendsonStaleKaivn 18Sandnes1980

引号的使用

请注意,我们在例子中的条件值周围使用的是单引号,建议一直使用单引号,这个也是个好习惯。

SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。

文本值:

这是正确的:
SELECT * FROM Persons WHERE FirstName='Tove';

这是错误的:
SELECT * FROM Persons WHERE FirstName=Tove;

数值:

这是正确的:
SELECT * FROM Persons WHERE Year>1965;

这是错误的:
SELECT * FROM Persons WHERE Year>'1965';

LIKE 条件

LIKE 用于规定针对列中某个模式的搜索。

语法

SELECT 列 FROM 表 WHERE 列 LIKE 模式

符号"%"可用于定义模式之前及模式之后的通配符(模式中缺少的字符)。

使用LIKE

下面的语句会返回名字的第一个字符为 'O' 的人:

SELECT * FROM Persons WHERE FirstName LIKE 'O%';

下面的语句会返回名字的最后一个字符为 'a' 的人:

SELECT * FROM Persons WHERE FirstName LIKE '%a';

下面的语句会返回名字中包含字符 'la' 的人:

SELECT * FROM Persons WHERE FirstName LIKE '%la%';

SQL 通配符(LIKE)

在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。

SQL 通配符必须与 LIKE 运算符一起使用。

在 SQL 中,可使用以下通配符:

通配符描述
%替代一个或多个字符
_仅替代一个字符
[charlist]字符列中的任何单一字符

[^charlist]

或者

[!charlist]

不在字符列中的任何单一字符
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值