在做scott表的练习 列出所有员工的姓名及其直接上级的姓名。 select ename,(select ename from emp where empno=a.mgr) from emp a; select a.ename,b.ename from emp a,emp b where a.mgr=b.empno(+); 不明白这些语句,求助

解决方案 »

  1.   

    第一句中的a.mrg 表示什么意思
      

  2.   

    a是外层查询中emp表的别名
    在内层查询中a.mrg就是说外层查询中返回记录的mgr字段的值你可以执行这两条语句试试
    想一想就知道什么意思了
      

  3.   

    还有 楼主你的ORACLE是什么版本我在想为什么我的scott下的emp表没有mgr这个字段
    SQL> desc emp
     Name                                      Null?    Type
     ----------------------------------------- -------- ---------------------------- EMPNO                                     NOT NULL NUMBER(4)
     ENAME                                              VARCHAR2(10)
     JOB                                                VARCHAR2(9)
     MGR                                                NUMBER(4)
     HIREDATE                                           DATE
     SAL                                                NUMBER(7,2)
     COMM                                               NUMBER(7,2)
     DEPTNO                                             NUMBER(2)
      

  4.   

    。。我怎么感觉自己扇了自己一个耳光我想成dept表了 
    结果是emp
      

  5.   

    再问你一下:在worksheet里scott.emp的deptno怎么表示?
    比如做 inner join 时,scott.emp.deptno=scott.dept.deptno???
      

  6.   

    第一句的内连接查不到最高级别的boss
    第二句的左外连接可以查到最高级别的boss