子查询(嵌套查询)
说明:一条SQL语句中又包含一条SQL语句
-- 查询emp表中,工资大于平均工资的,员工的编号(empno),姓名(ename),职位(job),工资(sal)
SELECT empno,ename,job,sal
FROM emp
WHERE sal>(SELECT AVG(sal) FROM emp);
-- 查询emp表中,工资大于30号部门最高工资的,员工的编号(empno),姓名(ename),工资(sal)
SELECT empno,ename,sal
FROM emp
WHERE sal>(SELECT MAX(sal) FROM emp WHERE deptno=30);
-- 查询student表中,分数(score)大于1年3班最高分数的,学员姓名(sname),分数(score),班级(sclASs)
SELECT sname,score,sclASs
FROM student
WHERE score>(SELECT MAX(score) FROM student WHERE sclASs='1年3班');
-- 查询emp表中,和姓名是JONES的,是同一个部门的,员工的编号(empno),姓名(ename),部门编号(deptno)
SELECT empno,ename,deptno
FROM emp
WHERE deptno=(SELECT deptno FROM emp WHERE ename='JONES');
-- 查询emp表中,和姓名是JONES的,是同一个部门的,其他员工的编号(empno),姓名(ename),部门编号(deptno)
SELECT empno,ename,deptno
FROM emp
WHERE deptno=(SELECT deptno FROM emp WHERE ename='JONES') AND NOT ename='JONES';
-- 查询部门地址(loc)是CHENGDU的,员工的编号(empno),姓名(ename),职位(job),工资(sal)
SELECT empno,ename,job,sal FROM emp WHERE deptno=(SELECT deptno FROM dept WHERE loc='CHENGDU');