/*子查询
子查询是一条查询语句,它是嵌套在其他SQL语句当中的,目的是为外层的SQL语句提供数据。
子查询在DDL,DML,DQL中都可以使用。
*/
--查看谁的工资高于CLARK?
SELECT ename,sal FROM emp_oracle
WHERE sal > (
SELECT sal FROM emp_oracle
WHERE ename = 'clark'
)
--查看和CLARK同部门的员工?
SELECT ename,deptno FROM emp_oracle
WHERE deptno = ( --”=“与“IN”效果相同
SELECT deptno FROM emp_oracle
WHERE ename = 'clark'
)
--查看哪些员工的工资是高于公司平均工资的?
SELECT ename,sal FROM emp_oracle
WHERE sal > ( --AVG函数:计算平均值
SELECT AVG(sal) FROM emp_oracle
)
/*子查询根据查询结果分为:
单行单列子查询,多行单列子查询,多行多列子查询
其中单列子查询常用在过滤条件中,而多列子查询常当做表使用。
对于多行多列子查询,在进行过滤判断时,要配合 IN,ANY,ALL 使用。
*/
--查看与职位是SALESMAN同部门的员工有哪些?
SELECT ename,deptno FROM emp_sql
WHERE deptno IN( --IN:其中之一
SELECT deptno FROM emp_sql