在做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(+); 不明白这些语句,求助
还有 楼主你的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)
在内层查询中a.mrg就是说外层查询中返回记录的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)
结果是emp
比如做 inner join 时,scott.emp.deptno=scott.dept.deptno???
第二句的左外连接可以查到最高级别的boss