关于SELECT 逻辑的执行顺序问题

不会有大多数人都和我一样的认为,是先进行的Where 剔除结果集,再进行Join的吧

SQL server 2014 逻辑执行标准:

https://msdn.microsoft.com/en-us/library/ms189499(v=sql.120).aspx

FROM

  1. FROM
  2. ON
  3. JOIN
  4. WHERE
  5. GROUP BY
  6. WITH CUBE or WITH ROLLUP
  7. HAVING
  8. SELECT
  9. DISTINCT
  10. ORDER BY
  11. TOP

Oracle 12c 逻辑执行标准

http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_10002.htm

时间: 2024-11-03 05:35:17

关于SELECT 逻辑的执行顺序问题的相关文章

容易被忽略的事----sql语句中select语句的执行顺序

关于Sql中Select语句的执行顺序,一直很少注意这个问题,对于关键字的使用也很随意,至于效率问题,因为表中的数据量都不是很大,所以也不是很在意. 今天在一次面试的时候自己见到了,感觉没一点的印象,所以也就没有答上来,现在整理一下吧,希望提醒自己,也能够帮到其他的朋友.如下: (8) SELECT (9)DISTINCT (11) <TOP_specification> <select_list> (1) FROM <left_table> (3) <join_

SQL 中 SELECT 语句的执行顺序

好像自已在书写 SQL 语句时由于不清楚各个关键字的执行顺序, 往往组织的 SQL 语句缺少很好的逻辑, 凭感觉 "拼凑" ( 不好意思, 如果您的 SQL 语句也经常 "拼凑", 那您是不是得好好反省一下呢?, 呵呵). 确实是爽了自己, 可苦了机器, 服务器还需要在我们的杂乱无章的 SQL 语句中寻找它下一句需要执行的关键字在哪里. 效率嘛, 由于我们的感觉神经对秒以下的变化实在不敏感, 暂且就认为自已写的 SQL 顺序无关紧要, "反正没什么变化!&

SQL语句中SELECT语句的执行顺序

SELECT语句的执行的逻辑查询处理步骤: 执行顺序 语句 8 SELECT 9 DISTINCT 11 <TOP_specification> <select_list> 1 FROM <left_table> 3 <join_type> JOIN <right_table> 2 ON <join_condition> 4 WHERE <where_condition> 5 GROUP BY<group_by_li

select查询语句执行顺序

查询中用到的关键词主要包含六个,并且他们的顺序依次为select--from--where--group by--having--order by其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行 from--where--select--group by--having--order by, from:需要从哪个数据表检索数据where:过滤表中数据的条件 , rownum分配给每个输出行并增1select

select查询的执行顺序

一些不知道为什么执行出错的SQl语句,往往是因为你不了解他的执行顺序. Select distinct top n [percent] 列名 from 表名 where 条件 group by ... having ... order by ... asc/desc 执行顺序 1>...from 表 2>...where 条件 3>...group by    列 4>...having 筛选条件 5>...Select >选择列 >distinct 6>.

完整Select语句执行顺序

完整的select语句及执行顺序(必须记住) 5...select 5.2->distinct 7...top n [percent] 5.1->列名 聚合函数(1.2->列名或表达式) 1...1.1->from 表名 2...where 条件 3...group by ... 4...having ... 6...order by ... 说明: 第一步先执行:from 表名 第二步执行:聚合函数中的列名或表达式 第三步执行: where 条件 第四步执行:分组 group b

MySQL(五)SELECT语句执行顺序

上一篇讲述了Oracle的SELECT语法的执行顺序,这篇讲述MySQL的SELECT语法的执行顺序.MySQL的SELECT语法的执行顺序和Oracle的基本相同,只是增加了MySQL独有的LIMIT语法. 目录 一.SELECT语句的处理过程 1. FROM阶段 2. WHERE阶段 3. GROUP BY阶段 4. HAVING阶段 5. SELECT阶段 6. ORDER BY阶段 7. LIMIT阶段 一.SELECT语句的处理过程 查询操作是关系数据库中使用最为频繁的操作,也是构成其

hive高阶1--sql和hive语句执行顺序、explain查看执行计划、group by生成MR

hive语句执行顺序 msyql语句执行顺序 代码写的顺序: select ... from... where.... group by... having... order by.. 或者 from ... select ... 代码的执行顺序: from... where...group by... having.... select ... order by... hive 语句执行顺序 大致顺序 from... where.... select...group by... having

SQL中关键字的执行顺序

作为一个SQL新手,看到每种不熟悉的关键字时已经够迷茫了,可往往见到的语句关键字顺序还是各种各样,太难理解了.网上搜索了两篇文章,总结一下: 关于Sql关键字SELECT FROM GROUP ORDER 等的执行顺序问题的解释 SQL 中 SELECT 语句的执行顺序 以及 十步完全理解SQL 的第二步. 总结: 标准的 SQL 的解析顺序为:   (1).FROM 子句, 组装来自不同数据源的数据 包括各种JOIN和ON (2).WHERE 子句, 基于指定的条件对记录进行筛选   (3).