小鱼Ava
2017-05-16 09:16
采纳率: 60%
浏览 3.3k

Oracle数据库中主查询中FROM子句和WHERE子子句中子查询的执行顺序

SELECT emp_name,
emp_age
FROM emp_info
WHERE emp_age > (SELECT emp_age FROM emp_info WHERE emp_name = 'john');
上面代码中,是先执行主查询的FROM子句,然后执行主查询的WHERE子句,然后执行子查询……;还是先执行子查询,在执行主查询的FROM子句……

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 流年丶痞子 2017-05-16 09:20
    已采纳

    先执行主查询的FROM子句,然后执行主查询的WHERE子句

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • laogao01200 2017-05-16 09:25

    同楼上,这个从上往下依次执行的

    评论
    解决 无用
    打赏 举报
  • 冷咖啡15 2017-05-16 11:00

    SQL语句 从上到下 从左往右 一次执行

    评论
    解决 无用
    打赏 举报
  • qq_38346718 2017-05-18 01:22

    查询语句执行顺序:
    1.from子句:执行顺序为从后往前,从右到左
    数据量较少的表尽可能放在后面
    2.where子句:执行顺序为自上而下,从右到左
    将能过滤掉的最大数量记录的条件写在where子句的

    最右边
    3.group by:执行顺序从左往右分组
    最好在group by前使用where将不需要的记录在group by 之前就过滤掉

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题