子查询不能使用ORDER BY,且只能从一个表中取数据;
当需要使用聚集函数,并将它的值和其他值进行比较时,要使用子查询;
当查询的结果要显示多个表的内容时,使用连接;
ANY 表示与子查询中每一个值进行比较,如果有一个比较为真,则整个子查询的结果集的比较就为真;
SELECT e.empno,e.ename,e.job,e.sal
FROM scott.emp e
WHERE 20<=ANY ( SELECT deptno
FROM scott.dept
WHERE e.deptno=deptno
):
等同:SELECT e.empno,e.ename,e.job,e.sal
FROM scott.emp e
WHERE EXSITS ( SELECT *
FROM scott.dept
WHERE e.deptno=deptno
AND deptno>=200
):
ALL:只要有一个非真,则所有都为非真
SELECT ename,sal
FROM scott.emp
WHERE empno< ( SELECT empno
FROM scott.emp
GROUP BY empno
HAVING max(empno)=9000
):
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10484922/viewspace-975056/ ,如需转载,请注明出处,否则将追究法律责任。