读一条emp的记录,判断是否存在emp.deptno=dept.deptno的记录。如果存在,则显示select emp.empno,emp.ename,emp.job,emp.sal
from scott.emp,scott.dept where emp.deptno=当前deptno然后再读下一条直至记录结束

解决方案 »

  1.   

    select * from scott.emp,scott.dept where scott.emp.deptno=scott.dept.deptno
      

  2.   

    select emp.empno,emp.ename,emp.job,emp.sal
    from scott.emp,scott.dept
    where ...
      

  3.   

    效果和下相同:
    select emp.empno,emp.ename,emp.job,emp.sal
    from scott.emp,scott.dept
    where scott.emp.deptno=scott.dept.deptno;
    这种没有必要用Exists
      

  4.   

    你的语句写的有问题了,
    先执行(select * from scott.emp where scott.emp.deptno=scott.dept.deptno);
    然后根据这条语句返回的记录个数n去执行select emp.empno,emp.ename,emp.job,emp.sal
    from scott.emp,scott.dept,所以该语句执行后会返回记录个数n个重复的 结果。
    应该直接执行:
    select emp.empno,emp.ename,emp.job,emp.sal
    from scott.emp,scott.dept
    where scott.emp.deptno=scott.dept.deptno;