mysql sql 子查询 执行顺序_MySQL,SQL语句执行顺序
1.SQL执行顺序:
select 考生姓名, max(总成绩) asmax总成绩fromtb_Gradewhere 考生姓名 is not null
group by考生姓名having max(总成绩) > 600
order by max总成绩
(1). 首先执行 FROM 子句, 从 tb_Grade 表组装数据源的数据
(2). 执行 WHERE 子句, 筛选 tb_Grade 表中所有数据不为 NULL 的数据
(3). 执行 GROUP BY 子句, 把 tb_Grade 表按 "学生姓名" 列进行分组
(4). 计算 max() 聚集函数, 按 "总成绩" 求出总成绩中最大的一些数值
(5). 执行 HAVING 子句, 筛选课程的总成绩大于
600 分的.
(6)执行select 把满足条件的考生姓名和总成绩选出,并给予别名
(7). 执行 ORDER BY 子句, 把最后的结果按
"Max 成绩" 进行排序.
2.子查询:
2.1 不相关子查询
SELECT Sno,Sname,Sdept
FROM Student
WHERE Sdept IN
(SELECT Sdept
FROM Student
WHERE Sname= ‘ 刘晨 ’);
子查询的查询条件不依赖于父查询
由里向外 逐层处理。即每个子查询在上一级查询处理之前求解,子查询的结果用于建立其父查询的查找条件。
2.2 相关子查询
子查询的查询条件依赖于父查询,首先取外层查询中表的第一个元组,根据它与内层查询相关的属性值处理内层查询,若WHERE子句返回值为真,则取此元组放入结果表,然后再取外层表的下一个元组,重复这一过程,直至外层表全部检查完为止
2.3 执行顺序:
查询选修了课程名为“信息系统”的学生学号和姓名SELECTSno,SnameFROMStudent ③ 最后在Student关系中取出Sno和SnameWHERE Sno IN(SELECTSno ② 然后在SC关系中找出选修了3号课程的学生学号FROMSCWHERE Cno IN(SELECTCnoFROMCourseWHERE Cname=‘信息系统’ ① 首先在Course关系中找出“信息系统”的课程号,结果为3号课程
)
);
3.表连接执行顺序:
首先在表1中找到第一个元组,然后从头开始扫描表2,逐一查找满足连接件的元组,找到后就将表1中的第一个元组与该元组拼接起来,形成结果表中一个元组。
表2全部查找完后,再找表1中第二个元组,然后再从头开始扫描表2,逐一查找满足连接条件的元组,找到后就将表1中的第二个元组与该元组拼接起来,形成结果表中一个元组。
重复上述操作,直到表1中的全部元组都处理完毕
mysql sql 子查询 执行顺序_MySQL,SQL语句执行顺序相关推荐
- sql子查询示例_学习SQL:SQL查询示例
sql子查询示例 In the previous article we've practiced SQL, and today, we'll continue with a few more SQL ...
- mysql数据库子查询的使用_MySQL数据库使用子查询方式更新数据优化及思考
[环境介绍] 云数据库MySQL 5.7 [背景描述] 业务需要:需要对16370077的表数据进行更新部分数据操作 UPDATE P_MOXXXX_REXXXX SET FISAVAILABLE = ...
- sql 子查询 嵌套查询_SQL子查询– SQL中的嵌套查询
sql 子查询 嵌套查询 In the real world, there are times when we need a particular set of data but we don't h ...
- sql子查询的妙用:用在from后面做子表、用在where后面做子条件以及用在select后面用作子字段
昨天去客户方让客户小姐姐给我查询一段sql的时候,竟然发现sql子查询还可以这样写: sql子查询不仅仅可以出现在from 后面作为表结构,譬如: select t1.company_id,t1.co ...
- mysql+sql+子查询语句_SQL子查询
子查询或内部查询或嵌套查询在另一个SQL查询的查询和嵌入式WHERE子句中. 子查询用于返回将被用于在主查询作为条件的数据,以进一步限制要检索的数据. 子查询可以在SELECT,INSERT,UPDA ...
- mysql+sql+子查询语句_SQL语句:子查询
一,子查询简介: 子查询就是嵌套在主查询中的查询. 子查询可以嵌套在主查询中所有位置,包括SELECT.FROM.WHERE.ORDER BY.但并不是每个位置嵌套子查询都是有意义并实用的. 子查询必 ...
- mysql rand() 子查询_MySQL ------ 子查询(十三)
查询(query):任何SQL 都是查询,但此术语一般指select 语句 子查询(subquery):嵌套在查询中的查询,MySQL4.1 引入对子查询的支持. 接下来得就比较有意思了,需要你对于表 ...
- sql子查询示例_SQL更新查询示例说明
sql子查询示例 In this article, we're going to learn how to use the SQL update statement - what it is, wha ...
- SQL——子查询的概念及使用
SQL还允许创建子查询(subquery),即嵌套在其他查询中的查询 一. 利用子查询进行过滤 假设订单存储在两个表中.对于包含订单号.客户ID. 订单日期的每个订单,orders表存储一行.各订单的 ...
- sql 子查询及基本语句 挺全的收录
引自https://blog.csdn.net/jia_gugang/article/details/80282873 一.SQL子查询语句 1.单行子查询 select ename, ...
最新文章
- 绩效考核如何才能突破上司的主观偏见局限?
- spring+mybatis报错
- 【算法】模拟退火算法解决TSP问题的matlab实现
- 在ubuntu下安显卡驱动
- STM32 电机教程 8 - 步进电机开环电流控制
- 项目经理的10条项目管理心得
- gscatter in matlab Scatter plot by group machine learning and statics tool box required
- 程序员如何用Python了解女朋友的情绪变化?
- Go实现Raft第四篇:持久化和调优
- 电脑键盘上每个键的作用_键盘F键有什么作用 键盘F键作用介绍【详解】
- linux shell解析1
- 电脑如何测网速_职场人必备?告别加班的软件,100%提升工作效率|电脑|程序员|mac...
- 【程序员面试宝典】第五章 程序设计基本概念
- drop sqlite 多个表_android sqlite 一次创建多个表
- 三坐标雷达航迹跟踪与应用
- C++中的LPVOID类型
- codeforces 909 f
- strcpy会覆盖原来的吗_你真的会拍合影照吗?原来高大上的合影照这样拍
- 2021-08-02 html css 考试题改错
- oracle sql outer join,解答Oracle LEFT JOIN和LEFT OUTER JOIN的区别