qq_35201250
fuck you world
2021-05-21 10:42
采纳率: 20%
浏览 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条回答 默认 最新

  • technologist_48
    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。

    点赞 评论
  • znzjk
    znzjk 2021-05-21 10:53

    指定查询的对象emp

    点赞 评论

相关推荐