模糊查询

7、模糊查询

#模糊查询
/*
1.like
一般搭配着通配符使用,用作字符型的判断
通配符:
% 任意多个字符
_ 任意单个字符 1

2.between and
特点:在…之间
①等价于 使用 字段>=值1 and 字段<=值2
②两个临界值是包含的 [1,10]
③两个临界值不能颠倒顺序

3.in
特点:判断某个字段的值是否在某个列表内
in(值1,值2,…)

等价于 or

4.is null/is not null
*/

#1.like

#案例1:查询姓名中包含字符 e的员工信息
SELECT * FROM employees
WHERE last_name LIKE ‘%e%’;

#案例2:查询姓名中第二个字符为e,第四个字符为a的员工信息
SELECT * FROM employees
WHERE last_name LIKE ‘_e_a%’;

#案例3:查询姓名中第三个字符为_的员工信息
SELECT * FROM employees
WHERE last_name LIKE ‘___%’;

// 斜线 \ -> window 斜线
/ -> Linux 斜线
// 反斜线

#ESCAPE 自定义 转移符
SELECT * FROM employees
WHERE last_name LIKE ‘__KaTeX parse error: Expected group after '_' at position 1: _̲%' ESCAPE '’;

// ESCAPE ’ ′ ; 这 句 话 是 让 '; 这句话是 让 ; 拥有转义字符的形式和功能

UPDATE employees SET last_name=’’ ‘’ WHERE employee_id=100;

#2.between and

#案例1:显示出表employees部门编号在80-100之间 的姓名、职位
SELECT last_name,job_id,department_id
FROM employees
WHERE department_id BETWEEN 80 AND 100;

WHERE department_id BETWEEN 100 AND 80; ×

#等价于
SELECT last_name,job_id,department_id
FROM employees
WHERE department_id<=100 AND department_id>=80;

#3.in
#案例1:显示出表employees的manager_id 是 100,101,110 的员工姓名、职位

SELECT last_name,job_id,manager_id
FROM employees
WHERE manager_id IN(100,101,110);

#等价于
SELECT last_name,job_id,manager_id
FROM employees
WHERE manager_id=100 OR manager_id=101 OR manager_id = 110;

#案例2:查询 job_id 为AD_VP或ST_MAN或SA_MAN
SELECT last_name,job_id,manager_id
FROM employees
WHERE job_id IN(‘AD_VP’,‘S__MAN’);# ×

#4.is null / is not null

#案例1:查询没有奖金的员工
SELECT * FROM employees
WHERE commission_pct IS NULL;

#案例2:查询有奖金的员工
SELECT * FROM employees
WHERE commission_pct IS NOT NULL;

SELECT * FROM employees
WHERE NOT(commission_pct IS NULL);

SELECT * FROM employees WHERE last_name IS NULL;

#1.like

#案例1:查询姓名中包含字符 e的员工信息
SELECT * FROM employees
WHERE last_name LIKE ‘%e%’;

#案例2:查询姓名中第二个字符为e,第四个字符为a的员工信息
SELECT * FROM employees
WHERE last_name LIKE ‘_e_a%’;

#案例3:查询姓名中第三个字符为_的员工信息
SELECT * FROM employees
WHERE last_name LIKE ‘___%’;

// 斜线 \ -> window 斜线
/ -> Linux 斜线
// 反斜线

#ESCAPE 自定义 转移符
SELECT * FROM employees
WHERE last_name LIKE ‘__KaTeX parse error: Expected group after '_' at position 1: _̲%' ESCAPE '’;

// ESCAPE ’ ′ ; 这 句 话 是 让 '; 这句话是 让 ; 拥有转义字符的形式和功能

UPDATE employees SET last_name=’’ ‘’ WHERE employee_id=100;

#2.between and

#案例1:显示出表employees部门编号在80-100之间 的姓名、职位
SELECT last_name,job_id,department_id
FROM employees
WHERE department_id BETWEEN 80 AND 100;

WHERE department_id BETWEEN 100 AND 80; ×

#等价于
SELECT last_name,job_id,department_id
FROM employees
WHERE department_id<=100 AND department_id>=80;

#3.in
#案例1:显示出表employees的manager_id 是 100,101,110 的员工姓名、职位

SELECT last_name,job_id,manager_id
FROM employees
WHERE manager_id IN(100,101,110);

#等价于
SELECT last_name,job_id,manager_id
FROM employees
WHERE manager_id=100 OR manager_id=101 OR manager_id = 110;

#案例2:查询 job_id 为AD_VP或ST_MAN或SA_MAN
SELECT last_name,job_id,manager_id
FROM employees
WHERE job_id IN(‘AD_VP’,‘S__MAN’);# ×

#4.is null / is not null

#案例1:查询没有奖金的员工
SELECT * FROM employees
WHERE commission_pct IS NULL;

#案例2:查询有奖金的员工
SELECT * FROM employees
WHERE commission_pct IS NOT NULL;

SELECT * FROM employees
WHERE NOT(commission_pct IS NULL);

SELECT * FROM employees WHERE last_name IS NULL;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值