2. 条件查询
syntax: select 查询列表 from 表名 where 筛选条件; (where当后面成立的话进行显示)
执行顺序是:1.查看表名 2.where 3. select
筛选条件:(分类)
1. 按条件表达式筛选
条件运算符: > < =(等于) <>(不等于 !=效果一样) >= <=
2. 按逻辑表达式筛选
逻辑运算符 and(与 &&) or(或者||) !(非 not)
select * from employees where employee_id > 100 or employee_id >10;
3. 模糊查询
like(像) 一般和通配符搭配使用 可以判断字符型和数值型
通配符: % 任意多个字符,包括0个字符 _(下划线) 任意单个字符
syntax: select 查询列表 from employees where last_name like ‘%a%’
查询员工名字中包含字符a abc可以匹配 aas也可匹配
注意:如果刚好匹配的是_(下划线)可以使用 \(反斜杠)来进行转义
也可以使用escape关键字进行转义
last_name like ‘_$_’ escape ‘$’; 这个意思是将$作为转义符号来使用 所以这里$和\的效果就是一样的
between and (在。。。之间) 提高语句简洁度
查询员工编号在100-200之间的员工信息
select * fromemployees where emplpyee_id between 100 and 200; (与 <= and >= 一样效果)
注意事项:
- 包含临界值
- 两个临界值不能调换顺序(因为等价于条件判断)
in 判断起字段的值是否属于 in 列表中的某一项
特点:
- 使用 in 提高语句的简洁度
- in 列表的值类型必须统一或兼容(可以隐式转换 “123” 转换为123)
syntax: where job_id in (‘it_prog’, ‘ad_vp’);
和 job_id = “it_prog” or iob_id = “ad_vp” (效果相同)
特点:不支持通配符
is Null 或 is not Null
和前边的isNull不相同
= 或 <> 不可以用来判断Null
is Null 或 is not Null 可以用来判断Null
syntax: where commission_pct is Null;
<=> 安全等于
其实就是比 = 功能根据强大
可以用来判断Null 也可以判断一般的 = 等于
syntax: where commission_pct <=> Null
少年易老学难成,一寸光阴不可轻