对于数据库来说,最常用的操作恐怕就是查询了,各种复杂查询经常为搞的我们筋疲力尽。当然,这都不算什么。但是,对于一些多表查询,我们往往会没有头绪,不知道该如何操作。下面我就给大家推荐一种非常好用非常牛掰的查询技术:WITH
怎么用呢?with的作用其实很简单,就是把with引导的语句看做一张临时表。
废话不多说,直接上例子吧!
例:查询出每个部门工资最高的雇员编号,雇员姓名,雇员薪资,雇佣日期,所在部门编号,所在部门名称,并按照部门编号排序
来吧,朋友们,想一想如果利用我们学过的什么子查询,多表联查该如何写sql语句呢???
哦,好吧!是不是感觉很麻烦,下面我用with语句来写sql语句:
with e as
( select deptno dno,max(sal) max_sal from emp group by deptno)
select m.empno,m.ename,m.sal,m.hiredate,d.deptno,d.dname from e,emp m,dept d
where e.dno=m.deptno and m.deptno=d.deptno and e.max_sal=m.sal
order by d.deptno;
看懂了吗小伙伴们?
原文链接:https://www.f2er.com/oracle/212091.html