没感情的小孩 2021-05-21 10:42 采纳率: 33.3%
浏览 12
已采纳

Mysql子查询遇到的遇到的一点小困惑?

为什么这里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));了!可是不行我试过报错了!

为什么啊!

求教

  • 写回答

2条回答 默认 最新

  • CSDN专家-Fay 2021-05-21 10:47
    关注

    where条件语句中的e.deptno=d.deptno有效是因为 dname是当做列来被查询,而select * from emp where sal > (select avg(sal) from emp); sal是当做子查询,所以括号中的查询必须指定查询的对象emp。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?