sql语句条件查询,模糊查询
2024-01-08 10:49:49
一.按条件表达式筛选
#案例1,查询工资>12000的员工信息
SELECT * FROM employees WHERE salary>12000;
#案例2,查询部门编号不等于90号的员工名和部门编号
SELECT last_name,
department_id
FROM
employees
WHERE
department_id<>90;
二 按逻辑表达式筛选
#案例1: 查询工资在z在10000到20000之间的员工名,工资以及奖金
SELECT
last_name,
salary,
commission_pct
FROM
employees
WHERE
salary>=10000 AND salary <=20000;
#案例2: 查询部门编号不是在90到110之间,或者工资高于15000的员工信息
SELECT *
FROM employees
WHERE NOT(department_id>=90 AND department_id<=110) OR salary>15000;
三,模糊查询
/*
LIKE
1.一般和通配符搭配使用 % 任意多个字符,包含0个字符
*/
# LIKE
# 案例1: 查询员工名中包含字符a的员工信息
SELECT
*
FROM
employees
WHERE
last_name LIKE '%a%';
# 案例2; 查询员工名中第三个字符为e,第五个字符为a的员工名称和工资
SELECT
last_name,
salary
FROM
employees
WHERE
last_name LIKE '__n_1%';
#案例3 查询员工名中第二个字符为_的员工名
# @为转义字符 ESCAPE
SELECT
last_name
FROM
employees
WHERE
last_name LIKE '_@_%' ESCAPE '@';
# between and
/*
使用between and 可以提高语句的简洁度
包含临界值
两个临界值不要调换顺序
*/
#案例一:查询员工编号在100到120之间的员工信息
SELECT
*
FROM
employees
WHERE
employee_id>= 100 AND employee_id<=120;
#方式二
SELECT
*
FROM
employees
WHERE
employee_id BETWEEN 100 AND 120;
# in
/*
判断某字段的值是否属于in列表中的某一项
*/
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;
#案列2:查询有奖金的员工名和奖金率
SELECT
last_name,
commission_pct
FROM
employees
WHERE
commission_pct IS NOT NULL;
#安全等于 <=>
/*
即可以判断NULL值,又可以判断普通的数值,可读性较低
*/
#案例1
SELECT
last_name,
salary
FROM
employees
WHERE
salary <=>12000;
#2.查询员工号为176的员工的姓名和部门号和年薪
SELECT
last_name,
deparment_id,
salary*12*(1+IFNULL(commission_pct,0)) AS 年薪
FROM
employees;
文章来源:https://blog.csdn.net/weixin_50379372/article/details/135387331
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!