目录
where exists/ where not exists/ where in/ where not in
sql语句执行顺序
上面的最先执行
常用基本函数&常见语句
case when
sql中的条件语句,类似于if-else:符合哪条when即返回对应的then,否则返回else中的值,若没有else则返回null。
-- 1. 当作SELECT中的某一列
SELECT ename, sal,
CASE WHEN sal <= 2000 then 'UNDERPAID'
WHEN sal >= 4000 then 'OVERPAID'
else 'OK'
END AS status
FROM emp;
-- 2. 应用于计算表达式中
SELECT e.empno, e.ename, e.sal, e.deptno,
e.sal*
CASE WHEN eb.type = 1 then .1
WHEN eb.type = 2 then .2
ELSE .3
END AS bonus
FROM emp e
JOIN emp_bonus2 eb
USING (empno)
-- 3. case和when也可以拆开使用
SELECT y.deptno,
CASE y.deptno WHEN 10 THEN x.deptno_10
WHEN 20 THEN x.deptno_20
WHEN 30 THEN x.deptno_30
END AS COUNTS_BY_DEPT
FROM ...
like & regexp
二者都用来查找匹配项。Like: %a(最后一个字符是a),a%(第一个字符是a),%a%(字符串中间包含a),_a(a前有一个字符), _a__(a前有一个字符,a后有两个字符);r