SELECT salary AS 原本工资,department_id ,
CASE department_id
WHEN 30 THEN salary*1.1
WHEN 40 THEN salary*1.2
WHEN 50 THEN salary*1.3
ELSE salary*1.4
END AS 新工资
FROM employees;
SELECT
CASE 1*3
WHEN 1 THEN 1
WHEN 2 THEN 2
ELSE 3
END
第二种使用情况
SELECT salary ,
CASE
WHEN salary>20000 THEN 'A'
WHEN salary>15000 THEN 'B'
WHEN salary>10000 THEN 'C'
ELSE 'D'
END AS 工资级别
FROM employees;
SELECT COUNT(`commission_pct`) ,SUM(commission_pct),AVG(commission_pct) ,7.8/35 FROM employees;
SELECT commission_pct FROM employees WHERE commission_pct IS NOT NULL;
3.和distinct搭配使用
SELECT SUM(salary) 工资,SUM(DISTINCT salary) 去重后总工资,COUNT(salary) 员工人数,COUNT(DISTINCT salary) 去重后人数 FROM employees;
4.count详细重载
SELECT COUNT(*) FROM employees;-- 1行里面只要有1列不为null就算
SELECT COUNT(1) FROM employees;-- 多了1列1,行不变
5.和分组函数一起查询的命令有行数限制
SELECT SUM(salary),employee_id FROM employees;-- employee_id 只能显示1行