2. 条件查询
语法:
1 | SELECT |
2.1 按条件表达式查询
条件运算符:> < = <> <= >=
1 | 案例:查询工资 > 12000的员工信息 |
1 | USE 库名 |
2.2 按逻辑表达式筛选
逻辑运算符:and ,or, not, &&, ||, !
1 | 案例:查询工资在10000-20000之间的员工名,工资,奖金 |
1 | SELECT last_name,salary IFNULL(commissio_pct,0) |
2.3 模糊查询
关键字1:LIKE
一般与通配符搭配使用
通配符:
%
表示任意多个字符,包含0
个字符_
匹配任意单个字符escape<转义字符>
将指定字符设置为转义符号1
案例:筛选出名字中包含字符a的员工信息
1
2
3SELECT *
FROM employees
WHERE last_name LIKE '%a%';1
案例:查询员工中第二个字符为_的员工名
1
2
3
4SELECT last_name
FROM employees
WHERE
last_name LIKE'_$_%' ESCAPE "$";关键字2:BETWEEN AND
让代码更加简洁
BETWEEN a AND b 即[a,b]
1 | 案例:查询员工编号在100-120之间的员工信息 |
1 | SELECT * |
关键字3:IN关键字
作用:判断某个字段是否在某个列表中
- 让代码更加简洁
in
后面列表内的值的类型要统一1
案例:查询员工的工种编号为 IT_PROT,AD_VP,AN_PRES其中任意一个的员工名和工种编号
1
2
3
4
5
6SELECT
last_name,
job_id
FROM employees
WHERE
job_id IN('IT_PROT','AD_VP','AN_PRES');
关键字4:IS NULL / IS NOT NULL
- = , <>不能判断是否为 NULL 值
IS NULL
,IS NOT NULL
可以1
案例:查询有奖金的员工名和奖金率
1
2
3
4
5SELECT
last_name,commission_pct
FROM employees
WHERE
commission_pct IS NOT NULL;
关键字5:安全等于<=>
作用:可以判断 NULL 值
1 | 案例:查询没有奖金的员工名 |
1 | SELECT |