mysql打卡学习3

进阶2:条件查询

/*
语法:
	select
		查询列表
	from 
		表名
	where
		筛选条件;
分类:
	一.按条件表达式筛选
	> < = != >= <=
	二. 逻辑表达式筛选 用于连接表达式
	&& || !
	and or not
	三. 模糊查询
	like
	between and
	in 
	is null
	is not null
*/
SELECT * 
FROM employees
WHERE salary>12000;

SELECT last_name,department_id
FROM employees
WHERE department_id!=90;

#工资在10000到20000之间的员工名,工资以及奖金
SELECT 
last_name,
salary,
commission_pct
FROM
employees
WHERE
salary>=10000 AND salary<=20000;

#部门编号不是在90-110 或者工资高于15000
SELECT *
FROM employees
WHERE NOT(department_id<90 OR department_id>110) OR salary>15000;
#模糊查询
/*
like :
% 任意多个字符 包含0个字符
_ 任意单个字符
字符型或正数型都可
*/

# 员工名字中带a的
SELECT *
FROM employees
WHERE last_name LIKE '%a%';

# 员工名字第三个字符为的e,第五个字符为a的员工名和工资
SELECT *
FROM employees
WHERE last_name LIKE '__e_a%';

#员工名字第二个为_
SELECT *
FROM employees
WHERE last_name LIKE '_\_%';

#查询员工部门编号在100以上的
SELECT *
FROM employees
WHERE department_id LIKE '1__';
#转义
SELECT *
FROM employees
WHERE last_name LIKE '_$_%' ESCAPE '$';
/*
between and 区域 包含临界值
*/

SELECT 
last_name,
salary,
commission_pct
FROM
employees
WHERE
salary BETWEEN 10000 AND 20000;
/*
in 
类型必须一致 相当于=
*/

SELECT 
last_name,
salary,
commission_pct,
job_id
FROM
employees
WHERE
job_id IN ('IT_PROT','AD_VP','AD_PRES');
/*
is null
is not null
*/
# 没有奖金的员工名和奖金率
SELECT last_name,commission_pct
FROM employees;
WHERE commission_pct IS NULL;

SELECT last_name,commission_pct
FROM employees
WHERE commission_pct IS NOT NULL;
/*
安全等于<=>
null 或者普通值都可以判断
*/
SELECT last_name,commission_pct
FROM employees;
WHERE commission_pct <=>NULL;

SELECT last_name,commission_pct
FROM employees
WHERE commission_pct <=>0.1;
#练习
SELECT last_name,department_id,salary*12*(1+IFNULL(commission_pct,0)) AS 年薪
FROM employees;

#练习
SELECT salary,last_name
FROM employees
WHERE commission_pct IS  NULL AND salary<18000;

#练习 jod_id 不为'IT'
SELECT *
FROM employees
WHERE job_id != 'IT' OR salary<=>12000;

#练习  为null的全部没有了
SELECT * 
FROM employees 
WHERE commission_pct LIKE '%%';
原创文章 23 获赞 26 访问量 431

猜你喜欢

转载自blog.csdn.net/weixin_41672404/article/details/106040283
今日推荐