SQL语句中的执行顺序
这也是一篇不完全的翻译,有兴趣的读者可以查看原文。
下面的SQL语句的执行顺序只是逻辑上的顺序,在实际中优化器会选择最省时省力的顺序:
- FROM:这个只需要说一点的是JOIN这一步包含在FROM里面,总之就是先确定表,加载所有表的所有行
- WHERE:过滤掉不需要的行
- GROUP BY:根据表达式或者列名来聚合(分组),分组完成后,所有的列只剩下了作为组名的列,组内部只对聚合函数可见。
- 聚合函数:聚合函数相当于可以进入分组的内部,然后计算出一个只有一个值的结果,例如组内的最大最小平均总和。
- HAVING:过滤掉聚合后的不需要的行
- 窗口函数:在此时的所有行开窗口,并在窗口内执行窗口函数
- SELECT:选择需要的列,也叫project,投射
- DISTINCT:在选择的列里面进行(xing)行(hang)去重
- UNION,INTERSECT,EXCEPT:对得到的结果进行集合操作
- ORDEY BY:对进行完集合操作后得到的结果集排序
- OFFECT:没见过,不知道是干嘛的,别人说“Don’t use offset”
- LIMIT,FETCH,TOP:最后选择前几行作为最终的结果
SQL语句中的执行顺序相关推荐
- SqlServer中Sql语句的逻辑执行顺序
准备数据 Sql脚本如下,两张表,一张客户表Customers只包含customerid和city字段,一张订单表Orders包含orderid和customerid(关联Customers的cust ...
- Hive SQL语句的正确执行顺序
前言:hive的执行顺序也是总结mapreduce的执行顺序!!! 关于 sql 语句的执行顺序网上有很多资料,但是大多都没进行验证,并且很多都有点小错误,尤其是对于 select 和 group b ...
- SQL语句中各个部分的执行顺序(转)
原文链接:http://www.tuicool.com/articles/fERNv2 写在前面的话:有时不理解SQL语句各个部分执行顺序,导致理解上出现偏差,或者是书写SQL语句时随心所欲,所以有必 ...
- mysql语句的执行顺序_SQL语句完整的执行顺序(02)
这是对SQL语句完整的执行顺序(01)的补充: 数据库是mysql,使用的数据库表名称是my_student. 表的完整数据信息是: 完整语法是: Select [select选项] 字段列表[字段别 ...
- SQL语句中 and or执行优先级
首先,sql语句中not and or的执行优先级从高到低依次为:not,and,or 举例如下: select * from table where a=1 and b=2 or c=3 and d ...
- 【C# .NET】Oracle数据库连接的坑之传入parameters参数名SQL语句中的参数变量名不匹配(顺序不一致)的问题
问题描述 有一个user表,需要修改id为10086的用户的姓名和年龄,在C#的后台这样写: using (IDbConnection db = DapperFactory.GetConnection ...
- SQL Select语句完整的执行顺序:
SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函 ...
- oracle 执行带参数的sql语句_当用EXECUTE IMMEDIATE执行SQL语句中的参数个数也是动态的?用什么方法实现?...
当用EXECUTE IMMEDIATE执行SQL语句中的参数个数也是动态的?用什么方法实现? 描述详细一点就是:在要执行的SQL语句中所用到(: parameter)这种参数的个数,因具体条件不同,而 ...
- SQL允许你用EXECUTE执行一个变量中定义的SQL语句,并且允许你在被执行的SQL语句中,再次嵌套入一个变量定义的语句,并且再次在其中用EXECUTE执行它...
declare @sqlstr varchar(3000) set @sqlstr='declare @subsqlstr varchar(1000);' set @sqlstr=@sqlstr+'s ...
最新文章
- gitlab 邮件配置(smtp)
- SQL Server里Grouping Sets的威力
- C语言详解 - 数组
- 计算机应用技术自创ppt,教师必备:超好用的课件制作工具
- Ngnix的TCP和UDP负载平衡配置
- Windows Phone 7三触控程序开发
- python bokeh_浅谈python可视化包Bokeh
- 如何设置 Web 服务器的权限之iis
- python生成10个随机数字符串_python生成随机数、随机字符串
- java kv对象_java入门之——对象转型
- 在ClassWizard无法显示添加的类解决方法(转载)
- 在Sohu的最后一个作品-2011版大视野
- STC学习:乒乓球游戏
- 批量修改联系人头像_视频号pr批量剪辑0基础实操课,pr批量处理伪原创一分钟一个视频【共2节】...
- Web实现:仿大学英语四级成绩查询 html css 含效果图
- 项目jar包启动的命令
- 网易面试总结——面试案例5~面试案例8
- 【深度学习模型】讲讲横扫nlp任务的BERT模型
- 字母对应的日期 moment Element JAVA oracle mysql的日期格式
- python爬虫 - scrapy的安装和使用