查询表EMP中所有的工资大于等于2000的雇员姓名和他的经理的名字.1. select  a.ename 员工 ,b.ename 经理 from emp a,emp b where a.mgr=b.empno(+) and a.sal>=2000;
        
2. select a.ename 经理,b.ename 员工 from emp a,emp b where a.empno=b.mgr and a.sal>=2000;第1条语句查询出来的结果:
1 SMITH FORD
2 JONES KING
3 BLAKE KING
4 CLARK KING
5 SCOTT JONES
6 KING
7 FORD JONES第2条语句查询出来的结果:
1 FORD SMITH
2 BLAKE ALLEN
3 BLAKE WARD
4 KING JONES
5 BLAKE MARTIN
6 KING BLAKE
7 KING CLARK
8 JONES SCOTT
9 BLAKE TURNER
10 SCOTT ADAMS
11 BLAKE JAMES
12 JONES FORD
13 CLARK MILLEROracle中表连接时附加条件筛选是按怎么样一个规则运行的?请各位大侠多多指点!

解决方案 »

  1.   

    right join
    left join
    full join三者是不同的。
      

  2.   

    select a.ename 员工 ,b.ename 经理 from emp a,emp b where a.mgr=b.empno(+) and a.sal>=2000;初学者,还用(+)
    建议换本较新版的入门书,10g的至于内连接、外连接的区别
    看一下数据库原理就知道了
      

  3.   

    我看你的需求,应该是第二条正确。select a.ename 经理,b.ename 员工 from emp a,emp b where a.empno=b.mgr and a.sal>=2000;
      

  4.   

    --此条正确
    select a.ename 经理,b.ename 员工 from emp a,emp b where a.empno=b.mgr and a.sal>=2000;