查询
1.Like
1) %通配符
包含零个或多个字符的任意字符串
USE db_2008
select * from Employee
WHERE Name like‘王%’
2) _下划线
匹配任意单个字符
USE db_2008
select * from Employee
WHERE Name like‘王_’
3)[ ]通配符
通配符表示查询一定的范围内的任意单个字符,它包含两端的数据
USE db_2008
select * from Employee
WHERE Age like‘2[2-4]’
4) ^通配符
查询不在一定范围内的任意单个字符,它包含两端的数据
USE db_2008
select * from Employee
WHERE Age like‘2[^2-4]’
2.BETWEEN AND
USE db_2008
select * from Employee
WHERE Age BETWEEN 22 AND 24
USE db_2008
select * from Employee
WHERE Age Not BETWEEN 22 AND 24
3.IS (NOT) NULL
WHERE 语句中不能使用比较符(=)来对空值来判断,只能使用IS (NOT) NULL
用来对空值进行查询
USE db_2008
select * from Employee
WHERE Sex IS NULL
USE db_2008
select * from Employee
WHERE Sex IS NOT NULL
4.IN
指定列表中的条件,确定指定值是否与子查询或列表中的值是否匹配
USE db_2008
select * from Employee
WHERE ID IN (‘001’,’002’,’003’)
USE db_2008
select * from Employee
WHERE ID NOT IN (‘001’,’002’,’003’)
5.ALL、SOME、ANY
1)ALL比较标量值和单列集中的值,与比较运算符和子查询一起使用。 >ALL 表示大于条件的每一个值,大于最大值
USE db_2008
select * from Employee
WHERE Age >ALL
(
Select Age from employee
Where Name IN (‘王子行’,’张芝庭’)
)
2)SOME、ANY:比较标量的值和单列集合的值,SOME、ANY是等效的,与比较运算符和子查询一起使用
>ANY表示至少大于条件的一个值,大于最小值
6.EXISTS
用于一个子查询,测试是否存在
USE db_2008
GO
select * from Employee
WHERE EXISTS (select NULL)
7.逻辑运算符(NOT,AND,OR)
1)NOT :对布尔值取反,使用NOT返回不满足表达式的行
2)AND :组合两个布尔表达式,当两个表达式均为TRUE 时返回TRUE
3)OR :将两个条件组合起来 ,返回满足任一条件的行
8.比较运算符
== 测试两个表达式是否相等的运算符
<> 测试两个表达式彼此不相等的条件的运算符
!= 测试两个表达式彼此不相等的条件的运算符
> 测试一个表达式是否大于另一个表达式的条件的运算符
>= 测试一个表达式是否大于或等于另一个表达式的条件的运算符
!> 测试一个表达式是否不大于另一个表达式的条件的运算符
< 测试一个表达式是否小于另一个表达式的条件的运算符
<= 测试一个表达式是否小于或等于另一个表达式的条件的运算符
!< 测试一个表达式是否不小于另一个表达式的条件的运算符