模糊查询
1.like
一般和通配符搭配使用
- % 任意多个字符(包含0个字符)
- _任意单个字符
注意:要查含—的信息可以用 \ 转义 ‘\_’
或者用ESCAPE (select * from employees where last_name like '_A_%' ESCAPE 'A';)
例1:查询员工表包含字符a的员工信息
select * from employees where last_name like '%a%';
例2:查询员工表包含第三个字符是a的员工信息
select * from employees where last_name like '__a%';
2.between and
- 值不能颠倒
- 更简洁
- 包含临界值
例1:查询员工编号在100到200之间的员工信息
select * from employees where employe_id >= 100 and employe_id <= 120;
select * from employees where between 100 and 120;(更简洁)
3.in
- 判断某字段的值是属于in列表的某一项
- 使用提高语句的简洁度
- in列表的值类型必须一致
- in里面不支持使用通配符
例1:查询员工工种编号是 IT_PROG,AD_VP,AD-PRES 中的一个员工名和工种编号
select last_name,job_id from employees where job_id in('IT_PROG','AD_VP','AD-PRES');
4.is null 和 is not null
例1:例1:查询没有(有)奖金员工姓名和奖金率
select last_name,commision_pct from employees where commision_pct is (not) null;
5.安全对于<=>
select last_name,commision_pct from employees where commision_pct <=> null;
is null 和 <=> 比较
is null :仅仅可以判断null值但是可读性高
<=>:既可以判断null值又可以判断普通数值,可读性低