模糊查询
特点:
1.一般和通配符搭配使用
通配符:
% 任意多个字符,包含0个字符
_ 任意单个字符
between and
in
is null || is not null
#like
例子1:查询员工名中包含字符a的员工信息
SELECT
*
FROM
employees
WHERE
last_name LIKE '%a%';
例子2:查询员工名中第三个字符n,第五个字符为l 的员工名和工资
SELECT
last_name,
salary
FROM
employees
WHERE
last_name LIKE '__n_l%';
例子3:查询员工名中第二个字符为_的员工名
SELECT
last_name,
salary
FROM
employees
WHERE
last_name LIKE '_$_%' ESCAPE '$';#用转义字符或者用\转义
#between and
特点:
1.提高句子的简洁度
2.包含临界值
3.临界值顺序不能调换
例子1:查询员工编号在10到120之间的员工信息
SELECT
*
FROM
employees
WHERE
employee_id BETWEEN 100 AND 120;
#in
含义:判断某字段的值是否属于in列表的某一项
特点:
1.使用in提高语句的简洁度
2.in列表的值类型必须一致或兼容
3.不可以使用通配符
例子:查询员工的工种编号是 IT_PROG、AD_VP、AD_PRES 中的一个员工名和工种编号
SELECT
last_name,
job_id
FROM
employees
WHERE
job_id in(‘IT_PROG’,‘AD_VP’,‘AD_PRES’);
#is null
例子1: 查询没有奖金的员工名和奖金率
SELECT
last_name,
commission_pct
FROM
employees
WHERE
commission_pct IS NULL;
#安全等于<=>
例子1:查询没有奖金的员工名和奖金率
SELECT
last_name,
commission_pct
FROM
employees
WHERE
commission_pct <=> NULL;
例子2:查询工资为12000的员工信息
SELECT
last_name,
commission_pct
FROM
employees
WHERE
salary <=> 12000;
is null:仅仅可以判断NULL值,可读性较高,建议使用
<=>:既可以判断NULL值,又可以判断普通的数值,可读性较低