SQL进阶教程
本书是《SQL基础教程》进阶教程,同样是去年书香节拿到的书,今天刚打开,想能够尽快读完
CASE
表达式
CASE
表达式写法如下
-- 简单CASE表达式
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
-- 搜索CASE 表达式
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END
使用CASE表达式可以快速进行归类
-- 按照县名分类统计男女人口数量
SELECT pref_name AS '县名',
SUM(CASE WHEN sex = '1' THEN population ELSE 0 END) AS '男',
SUM(CASE WHEN sex = '2' THEN population ELSE 0 END) AS '女'
FROM PopTbl2 GROUP BY pref_name
新手用 WHERE
子句进行条件分支,高手用 SELECT
子句进行条件分支。
在UPDATE
语句里进行条件分支
- 对当前工资为 30 万日元以上的员工,降薪 10%
- 对当前工资为 25 万日元以上且不满 28 万日元的员工,加薪 20%
UPDATE Salaries
SET salary =
CASE WHEN salary >= 300000 THEN salary * 0.9
WHEN salary >= 250000 AND salary < 280000 THEN salary * 1.2
ELSE salary END
Comments