问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MySQL不支持子查询怎么办

发布网友 发布时间:2022-05-03 11:25

我来回答

2个回答

懂视网 时间:2022-05-06 09:23

一创建表 create table tt1(id int primary key, c1 INT);create table tt2(id int primary key, c2 INT);insert into tt1 value

一创建表

create table tt1(id int primary key, c1 INT);
create table tt2(id int primary key, c2 INT);
insert into tt1 values(1,1),(2,2),(3,3),(4,4);
insert into tt2 values(1,2),(2,2);

二 执行计划与问题

mysql> explain EXTENDED SELECT tt1.c1, (SELECT tt2.c2 FROM tt2 WHERE c2=10) FROM tt1, tt2;
+----+-------------+-------+-------+---------------+---------+---------+------+------+----------+---------------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+-------+-------+---------------+---------+---------+------+------+----------+---------------------------------------+
| 1 | PRIMARY | tt2 | index | NULL | PRIMARY | 4 | NULL | 2 | 100.00 | Using index |
| 1 | PRIMARY | tt1 | ALL | NULL | NULL | NULL | NULL | 4 | 100.00 | Using join buffer (Block Nested Loop) |
| 2 | SUBQUERY | tt2 | ALL | NULL | NULL | NULL | NULL | 2 | 100.00 | Using where |
+----+-------------+-------+-------+---------------+---------+---------+------+------+----------+---------------------------------------+
3 rows in set, 1 warning (0.00 sec)
这个语句的执行顺序是怎么执行的,就是按照执行计划这样从上到下执行吗?

三 分析

---id值为1的两个,,是From子句中的tt1和tt2,用块嵌套循环连接算法做内连接,tt2是外表,所以先启动的是tt2;后启动的是tt1。
---id值为2的是目标列中的子查询,后于FROM子句中的表执行。发生在连接后要求目标列的值发给客户端阶段。
---理论上是可以优化的,方法为:目标列只有一列和WHERE条件相同,所以,可以推知此子查询的结果是2。
---但是,MySQL没有优化这样的子查询。
---另外,对于这里的子查询,如果其结果返回多行,则MySQL会报告错误:ERROR 1242 (21000): Subquery returns more than 1 row。

--------------------------------------分割线 --------------------------------------

Ubuntu 14.04下安装MySQL

《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF

Ubuntu 14.04 LTS 安装 LNMP NginxPHP5 (PHP-FPM)MySQL

Ubuntu 14.04下搭建MySQL主从服务器

Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群

Ubuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb

MySQL-5.5.38通用二进制安装

--------------------------------------分割线 --------------------------------------

本文永久更新链接地址:

linux

热心网友 时间:2022-05-06 06:31

可以使用视图或者临时表,将无参数的子查询结果放到视图,有参数的子查询临时表中
问题是mysql 支持子查询啊
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
mrna转录试剂盒 windows7应用程序损坏或丢失怎么办? 联想windows7怎么恢复不小心删除的应用 Win7电脑图标不见了如何恢复解决Win7电脑图标丢失问题的有效方法_百 ... 美女主播软件有哪些 什么软件看美女直播? 什么视频直播软件可以免费看女神直播? 钣金工业设计 钣金灰本段用途 关于刮胡子的相关问题 小程序卖货是要自己做一个小程序吗,怎么弄呢? Mysql中如何根据子查询的结果进行一对多的查询 5.1的版本怎么用in的时候... mysql5.7.9分组查询中的子查询排序不生效。mysql5.6生效。 楷书的特点是哪三点? mysql中想知道group by 之后的结果数量,必须用子查询吗?请举个例子 主动降噪耳机有什么特性 有关Mysql GroupBy的问题 魅蓝Blus主动降噪耳机,大家觉得有哪些优势呢? 除了这个世界外,还有另外我们不知道的世界存在吗? 哈勃望远镜拍摄到的“创世之柱 卖东西的小程序是怎么弄的 宇宙上有外星生物吗? 社保在外地须要转回本地吗? 家里无名来了一只甲鱼风水玄学上好不好??正确求解啊,谢各位 家门口水池养甲鱼会不会影响风水? _百度问一问 家里养甲鱼影响风水吗?请指点,谢谢! 养甲鱼放在家里什么位置好 养鳖有碍风水吗?家里养鳖会破坏家庭和睦吗?别人说龟善良,鳖凶,家里能养鳖吗? 养鳖对家里风水好吗 正楷字的特点 springmvc结合mybatis的框架下的统计字段怎么做 最是一年春好处,绝胜烟柳满皇都的诗意? “最是一年春好处,绝胜烟柳满皇都”运用了什么手法?其表达的意思是什么? 最是一年春好处,绝胜烟柳满皇都,是什么意思? 最是一年春好处翻译 手机内存小用什么网盘或者云盘好 “最是一年春好处,绝胜烟柳满皇都”的意思是什么? 最是一年春好处。决胜烟柳满皇都的诗意? 最是一年春好处绝胜烟柳满皇都的意思 诗句“最是一年春好处,绝胜烟柳满皇都”蕴含的哲理意趣是什么? 什么输入法能将中文转换成英文? 最是一年春好处是什么意思 手机有没有什么输入法可以自动将汉语转化为英语?韩语呢? 有没有输入中文就可以自动转换成英文的输入法? 最是一年春好处想到什么格言? 满春满典??春点?? 远景X6百公里加速需要多少秒? “杏林春满”是什么意思? 杏林春满是什么意思?