- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Select语句完整的执行顺序.doc
SQL Select语句完整的执行顺序:
1、from子句组装来自不同数据源的数据; 2、where子句基于指定的条件对记录行进行筛选; 3、group by子句将数据划分为多个分组; 4、使用聚集函数进行计算; 5、使用having子句筛选分组; 6、计算所有的表达式; 7、使用order by对结果集进行排序。
另外:一个查询语句各个部分的执行顺序: --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_list --(6) WITH {CUBE | ROLLUP} --(7) HAVING having_condition --(10) ORDER BY order_by_list
SQL Select语句完整的执行顺序
2008-05-30 12:09
SQL Select语句完整的执行顺序:1、from子句组装来自不同数据源的数据;2、where子句基于指定的条件对记录行进行筛选;3、group by子句将数据划分为多个分组;4、使用聚集函数进行计算;5、使用having子句筛选分组;
以下结论是通过在Sql Server2000上的实验得出的结论,也可通过查看估计的执行计划(Ctrl+L)来查看执行顺序。 1.先执行等号(=)左边是变量的表达式(A类),再执行等号(=)左边是列名的表达式(B类)。例:update tablename set columnName=@variable,@variable=@variable+1 先执行@variable=@variable+1,再执行columnName=@variable 2.如果有多个A类(或B类)表达式,按从左到右顺序执行A类(或B类)表达式。例:update tablename set columnName=@variable,@variable=@variable+1,@variable=2*@variable 先执行@variable=@variable+1,再执行@variable=2*@variable,最后执行columnName=@variable 3.列名所代表的值永远是原值。例:update tablename set columnName=colunName+1,columnNameBa
group by
??? 在select 语句中可以使用group by 子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。group by 子句可以将查询结果分组,并返回行的汇总信息Oracle 按照group by 子句中指定的表达式的值分组查询结果。
?? 在带有group by 子句的查询语句中,在select 列表中指定的列要么是group by 子句中指定的列,要么包含聚组函数
?? select max(sal),job emp group by job;?? (注意max(sal),job的job并非一定要出现,但有意义)
?? 查询语句的select 和group by ,having 子句是聚组函数唯一出现的地方,在where 子句中不能使用聚组函数。
select deptno,sum(sal) from emp where sal1200 group by deptno having sum(sal)8500 order by deptno;
当在gropu by 子句中使用having 子句时,查询结果中只返回满足having条件的组。在一个sql语句中可以有where子句和having子句。having 与where 子句类似,均用于设置限定条件where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。
查询每个部门的每种职位的雇员数select deptno,job,count(*) from emp group by deptno,job;
Oracle SQL 性能优化技巧
1.选用适合的ORACLE优化器???? ORACLE的
您可能关注的文档
最近下载
- 中控视频会议室设计方案书.pdf VIP
- 2010年3月北京润枫欣尚项目价格及推售方案.ppt
- 2023年成都理工大学工程技术学院软件工程专业《计算机组成原理》科目期末试卷B(有答案).docx VIP
- 《四肢骨折经典》课件.ppt
- 成都理工大学工程技术学院《线性代数》2018-2019学年第一学期期末试卷.doc VIP
- (必威体育精装版)24年秋统编一年级语文上册口语交际:我会想办法教学设计【精品】.docx
- 胜利油田CCUS技术及应用.docx
- 成都理工大学工程技术学院《线性代数》2021-2022学年第一学期期末试卷.pdf VIP
- 度量衡完整版.ppt
- 成都理工大学工程技术学院《线性代数》2020-2021学年第一学期期末试卷.pdf VIP
文档评论(0)