Oracle的查询-子查询

--子查询
--子查询返回一个值
--查询出工资和scott一样的员工信息
select * from emp where sal in 
(select sal from emp where ename = 'SCOTT');

--子查询返回一个集合
--查询出工资和10号部门任意员工一样的员工信息
select * from emp where sal in
(select sal from emp where deptno = 10);

--子查询返回一张表
--查询出每个部门最低工资、最低工资姓名、该员工所在部门名称
--1.先查询出每个部门最低工资
select deptno, min(sal) msal
from emp
group by deptno;
--2.三表联查得到最终结果
select t.deptno, t.msal, e.ename, d.dname
from (
    select deptno, min(sal) msal
    from emp
    group by deptno
) t, emp e, dept d
where t.deptno = e.deptno
and t.msal = e.sal
and e.deptno = d.deptno;

 

posted @ 2019-08-29 10:26  Sm1lence  阅读(145)  评论(0编辑  收藏  举报