-- IN select id from ps_job jwhere id in ('00001','00002','00003') -- ANY SELECT empno, ename, job FROM emp WHERE sal <ANY (SELECT sal FROM emp WHERE job ='CLERK') AND job <>'CLERK'; /* 分析:后半句sql中,取出job = 'CLERK'的记录对应的薪酬值(多个),前半句sql根据后面得到的多个值,只要小于其中一个薪酬值,就取出该条记录。 */ -- ALL SELECT empno, ename, job FROM emp WHERE sal >ALL (SELECTavg(sal) FROM emp GROUPBY deptno); /* 分析:后半句sql中,按部门分组取出每个组的平均薪酬值(多个),前半句sql根据后面得到的多个值,只要大于得到的所有薪酬值,就取出该条记录。 */
LIKE 模糊
1 2
select*from ps_job j where j.id like'_0%' -- ‘_’站位1个字符,‘%’站位多个字符。
NVL 空判断
1 2 3
select NVL(expr1,expr2) FROM DUAL; -- 结果:如果expr1为空,则取到值为:expr2。
DECODE
1 2
select J.EMPLID,decode(J.DEPTID,0204000302,'选中','未选中') from PS_JOB J -- 结果:仅DEPTID=‘0204000302’的记录查询出的结果结果为:“选中”,其余为:“未选中”。