SQL初学者教程:掌握学会WHERE子句_[SQL Server教程]
WHERE 子句用于规定选择的标准。
WHERE 子句
如需有条件地从表中选取数据,可将 WHERE 子句添加到SELECT语句。
语法
SELECT column FROM table
WHERE column operator value
下面的运算符可在 WHERE 子句中使用:
操作符 | 描述 | = Equal
<>
不等于
>
大于
<
小于
>=
大于等于
<=
小于等于
BETWEEN
在某个范围内
LIKE
搜索某种模式
注释:在某些版本的SQL中,操作符<>可以写为!=。
使用WHERE子句
如果只需选取居住于城市"Sandnes"中的某些人,我们需要向SELECT语句添加WHERE子句:
SELECT * FROM Persons
WHERE City='Sandnes'
"Persons" 表
LastName | FirstName | Address | City | Year | Hansen
Ola
Timoteivn 10
Sandnes
1951
Svendson
Tove
Borgvn 23
Sandnes
1978
Svendson
Stale
Kaivn 18
Sandnes
1980
Pettersen
Kari
Storgt 20
Stavanger
1960
结果:
LastName | FirstName | Address | City | Year | Hansen
Ola
Timoteivn 10
Sandnes
1951
Svendson
Tove
Borgvn 23
Sandnes
1978
Svendson
Stale
Kaivn 18
Sandnes
1980
引号的使用
请注意,我们在例子中的条件值周围使用的是单引号。
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 column FROM table
WHERE column LIKE pattern
符号"%"可用于定义模式之前及模式之后的通配符(模式中缺少的字符)。
使用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%'