子查询语句案例

简介:

代码:

1 UPDATE t_scoreuser AS sc
2 SET sequence_name=(SELECT sequence_name 
3     FROM t_exams AS ex
4     WHERE sc.sequence=ex.sequence AND sc.type=ex.type GROUP BY sequence_name)
5 WHERE sc.type=7 AND sc.sequence=2;

分析:

这是一段子查询的代码

提取其中的一段代码分析

UPDATE t_scoreuser AS sc
SET sequence_name=(SELECT sequence_name 
     FROM t_exams AS ex
     WHERE sc.sequence=ex.sequence AND sc.type=ex.type GROUP BY sequence_name)

它的执行过程是什么呢??

可以在头脑中想象一下,它大概的执行过程,逐条修改t_scoreuser表中的信息,通过子查询语句,筛选出准备修改成的内容。子查询语句,必须查出一个数据,不能是一组数据,所以要group by一下。

然后,逐条的进行修改,逐条的子查询,逐条的修改。直到完成所有行数据的修改。

最后一行的

WHERE sc.type=7 AND sc.sequence=2;

是对t_scoreuser起到了过滤作用,只修改符合条件的那些行记录。



本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/archive/2013/03/14/2958860.html,如需转载请自行联系原作者

相关文章
|
3月前
|
SQL
访问者模式问题之构造一个包含 select、from 和 where 子句的 SQL 节点树,如何解决
访问者模式问题之构造一个包含 select、from 和 where 子句的 SQL 节点树,如何解决
|
5月前
|
SQL Java 数据库连接
大事件后端项目28------文章分类列表查询(条件分页)
大事件后端项目28------文章分类列表查询(条件分页)
|
6月前
|
SQL 关系型数据库 MySQL
【MySQL-8】DQL-查询语句全解 [ 基础/条件/分组/排序/分页查询 ](附带代码演示&案例练习)
【MySQL-8】DQL-查询语句全解 [ 基础/条件/分组/排序/分页查询 ](附带代码演示&案例练习)
|
索引
子查询和在业务逻辑上顺序查询有多大区别
子查询和在业务逻辑上顺序查询有多大区别
86 0
|
SQL Oracle 关系型数据库
Mysql中的递归层次查询(父子查询)
Mysql中的递归层次查询(父子查询)
436 0
|
关系型数据库 MySQL 索引
Mysql建表3大约束+条件查询、分页语法+难点聚合案例解析
Mysql建表3大约束+条件查询、分页语法+难点聚合案例解析
176 0
|
SQL 关系型数据库 MySQL
Mysql中的递归层次查询(父子查询,无限极查询)
Mysql中的递归层次查询(父子查询,无限极查询)
906 0
Mysql中的递归层次查询(父子查询,无限极查询)
|
SQL
SQL子查询优化,看这一篇就够了
子查询(Subquery)的优化一直以来都是 SQL 查询优化中的难点之一。关联子查询的基本执行方式类似于 Nested-Loop,但是这种执行方式的效率常常低到难以忍受。
3904 0