mysql的关键词使用顺序_sql关键词执行先后顺序是什么
sql关键词执行的先后顺序是:首先执行from语句;然后是where语句,group by语句;接着是having语句;最后是order by语句。
【推荐课程:MySQL教程】
sql关键词执行顺序
例:select m.* from(select t.*,rownum r from
(select id,name,e.username,e.realname from departments d ,employees e where d.manager=e.username(+)
order by id desc ) t where rownum<=? ) m where r>?
select m.*(select t.*,t.rownum r from(
select a,b,c,d from table1 order by a desc
) t where rownum < = ? ) m
where r > ?
标准的 SQL 的解析顺序为
(1)FROM 子句, 组装来自不同数据源的数据
(2)WHERE 子句, 基于指定的条件对记录进行筛选
(3)GROUP BY 子句, 将数据划分为多个分组
(4)使用聚合函数进行计算
(5)使用 HAVING 子句筛选分组
(6)计算所有的表达式
(7)使用 ORDER BY 对结果集进行排序
例
在学生成绩表中 (暂记为 tb_Grade), 把 "考生姓名"内容不为空的记录按照 "考生姓名" 分组, 并且筛选分组结果, 选出 "总成绩" 大于 600 分的
SQL 语句为:select 考生姓名, max(总成绩) as max总成绩
from tb_Grade
where 考生姓名 is not null
group by 考生姓名
having max(总成绩) > 600
order by max总成绩
在上面的示例中 SQL 语句的执行顺序如下:
(1) 首先执行 FROM 子句, 从 tb_Grade 表组装数据源的数据
(2)执行 WHERE 子句, 筛选 tb_Grade 表中所有数据不为 NULL 的数据
(3) 执行 GROUP BY 子句, 把 tb_Grade 表按 "学生姓名" 列进行分组
(4)计算 max() 聚集函数, 按 "总成绩" 求出总成绩中最大的一些数值
(5) 执行 HAVING 子句, 筛选课程的总成绩大于 600 分的.
(6) 执行 ORDER BY 子句, 把最后的结果按 "Max 成绩" 进行排序.
总结:以上就是本篇文章的全部内容了,希望对大家有所帮助。
mysql的关键词使用顺序_sql关键词执行先后顺序是什么相关推荐
- mysql limit 执行顺序_SQL语句执行顺序及MySQL中limit的用法
一. SQL语句执行顺序及MySQL中limit的用法 执行顺序:from... where...group by... having.... select ... order by... limit ...
- mysql分析sql语句性能_sql语句执行性能分析
explain 根据上面提到的explain去比较,就可以得出结果了 mysql> explain select * from users limit 1000,20; +----+------ ...
- mysql命令书写顺序_MySQL SQL语句书写顺序和执行顺序
SQL语句书写顺序和执行顺序 (7) SELECT (8) DISTINCT (1) FROM (3) JOIN (2) ON (4) WHERE (5) GROUP BY (6) HAVING (9 ...
- 悟空分词与mysql结合_中文分词与关键词提取实践小结
本文基于题库查重需求实现过程及<NLP自然语言处理原理与实践>学习过程总结得出.定有不足之处,恳请指出. 基本概念 评价指标 一般,中文分词从Precision.Recall.F-scor ...
- mysql一条语句是如何被执行的——带你了解mysql语句执行内部顺序
文章目录 写在前面 MySQL基本架构 超详细架构图 连接器 查询缓存 解析器 MySQL 8.0对Parser所做的改进 优化器 执行器 存储引擎 SQL语句执行时间分析 参考资料 写在前面 sel ...
- mysql 执行顺序 SQL语句执行顺序分析
最近在做一个数据库的大作业,算是复习了下MySql里面比较复杂的一些语句的用法,如Left Join之类的.在这里就不对具体语法进行记录了,希望能在以后经常用到,而不是隔好长时间用一次.在这里就记录下 ...
- mysql latid1_【转】mysql触发器的实战经验(触发器执行失败,sql会回滚吗) | 学步园...
1 引言Mysql的触发器和存储过程一样,都是嵌入到mysql的一段程序.触发器是mysql5新增的功能,目前线上凤巢系统.北斗系统以及哥伦布系统使用的数据库均是mysql5.0.45版本,很多程 ...
- mysql 查询优化器跟踪_3. select语句执行过程-优化器
1.有哪些 2.开启追踪 优化器追踪默认是关闭的 2.1 开启 SHOW VARIABLES LIKE 'optimizer_trace'; set optimizer_trace='enabled= ...
- 关键词分析工具-免费关键词分析软件
选择正确的关键词对于搜索引擎优化至关重要.使用正确的关键词可以让你的结果页或广告页展现给正确的受众.(避免非目标受众点击造成的经济损失,以及提高自然搜索的意图匹配)每个产出的关键词都可以直观的了解,突 ...
最新文章
- [轉]c#简单调用DELPHI DLL封装窗体
- Zookeeper分布式一致性原理(九):Zookeeper分布式应用
- Ubuntu 12.10下配置Web服务器详细教程
- 字典对中文字符串进行排序 python_Python基础入门:字符串和字典
- 空指针:从 0 到 NULL,再到 nullptr
- 【centos7】添加开机启动服务/脚本
- 漫画算法:辗转相除法是什么鬼
- c/c++整理--c++面向对象(1)
- 安徽高中计算机会考知识点,安徽高中会考语文知识点
- java8简化的可变参数调用,Java8新特性--方法引用
- 创建表结构相同的表,表结构相同的表之间复制数据,Oracle 中 insert into XXX select from 的用法...
- linux 装nano命令,vim、nano在命令行上如何编辑文件
- angular-代码段
- sdp ddp内存怎么分_小鑫课堂 | 多余的内存不要浪费,拿来做硬盘吧
- 异速联客户端可以删除服务器文件,异速联客户端怎么连接服务器
- 英语secuerity证券
- 特征筛选利器:详解T-test(T检验)原理、参数分析、单\双尾检验选择
- 如何在Windows下使用DOS命令进入MySQL数据库?
- 进入docker容器的方法
- 节约粮食海报|节约粮食就是对袁隆平院士最好的怀念!
热门文章
- Java Web 相关面试题总结
- Win8 Metro(C#)数字图像处理--2.66FloodFill算法
- 美国旧金山之行第一天
- Servlet -- 重定向
- struts2中解决下载文件名中文乱码问题
- 【效率】如何有效提问
- mysql之日志和mysqlbinlog工具的使用
- Caused by: java.lang.NoSuchMethodException: onClick_Flashlight [class android.view.View]
- JVM中的Stack和Heap1
- 数学之美系列二 -- 谈谈中文分词