为什么这里where条件语句中的e.deptno=d.deptno,有效啊?这里嵌套的select语句没有from emp e啊?我知道主语句有from emp e,难道是执行顺序的问题?可是如果是的话
select * from emp where sal > (select avg(sal) from emp);岂不是也可以写成
select * from emp where sal > (select avg(sal));了!可是不行我试过报错了!
为什么啊!
求教
为什么这里where条件语句中的e.deptno=d.deptno,有效啊?这里嵌套的select语句没有from emp e啊?我知道主语句有from emp e,难道是执行顺序的问题?可是如果是的话
select * from emp where sal > (select avg(sal) from emp);岂不是也可以写成
select * from emp where sal > (select avg(sal));了!可是不行我试过报错了!
为什么啊!
求教
where条件语句中的e.deptno=d.deptno有效是因为 dname是当做列来被查询,而select * from emp where sal > (select avg(sal) from emp); sal是当做子查询,所以括号中的查询必须指定查询的对象emp。