数据库的子查询

1、什么是子查询?

select语句中嵌套select语句,被嵌套的select语句称为子查询。

2、子查询都可以出现在哪里呢?

        select

                .. (select)..

        from

                ..(select)..

        where

                .. (select) ..

3、where子句中的子查询

        案例:找出比最低工资高的员工姓名和工资?

        select ename,sal from emp where sal  >  (select min(sal ) from emp) ;

4、from子句中的子查询

        可以将子查询的查询结果当做一张临时表。(技巧)

        案例:找出每个岗位的平均工资的薪资等级。

        t表和s表进行表连接,条件:t表avg(sal)between s.losal and s.hisal;

                select

                        t.*, s.grade

                from

                        (select job,avg(sal) as avgsal from emp group by job) t

                join

                        salgrade s

                on

                        t.avgsal between s.losal and s.hisal;

5、select后面出现的子查询

案例:找出每个员工的部门名称,要求显示员工名,部门名?

        select

                e.ename, (select d.dname from dept d where e.deptno = d.deptno) as dname

        from

                emp e;

注意:对于select后面的子查询来说,|这个子查询只能一次返回1条结果,多于1条,就报错了。!

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>