当前位置: 代码迷 >> Oracle开发 >> 求教一个SQL语句,该怎么解决
  详细解决方案

求教一个SQL语句,该怎么解决

热度:242   发布时间:2016-04-24 06:23:54.0
求教一个SQL语句
题目:查询每个雇员的姓名、工资、部门名称,工资在公司的等级(salgrade),及其领导的姓名所在公司的等级 
SQL> SELECT e.ename,e.sal,d.dname,s.grade,m.ename,m.sal,ms.grade FROM emp e,dept d,salgrade s,emp m,salgrade ms WHERE e.deptno = d.deptno 
AND e.sal BETWEEN s.losal AND s.hisal
 AND e.mgr = m.empno (+)
AND m.sal BETWEEN ms.losal AND ms.hisal;
我想加一个左连接,把KING的资料也显示出来,但是被没显示,求教

------解决思路----------------------

将emp,sagrade的集合作为领导表再左连接可以得到你要的结果

你这个我也想不明白为什么,期待大神来解释
------解决思路----------------------
SELECT e.ename, e.sal, d.dname, s.grade, m.ename, m.sal, ms.grade
  FROM emp e, dept d, salgrade s, emp m, salgrade ms
 WHERE e.deptno = d.deptno
   AND e.sal BETWEEN s.losal AND s.hisal
   AND e.mgr = m.empno ( + )
   --AND m.sal BETWEEN ms.losal AND ms.hisal   m.sal 不存在记录 也需要与ms表外关联呀
   AND m.sal BETWEEN ms.losal(+) AND ms.hisal(+)
   ;
  相关解决方案