3.8 解决方案随笔
本节内容相当杂;介绍了怎样编写解决各种问题的查询。多数内容是在邮件清单上看到的解决问题的方案(谢谢清单上的那些朋友,他们为解决方案作了很多工作)。
3.8.1将子选择编写为连接
MySQL自3.24版本以来才具有子选择功能。这项功能的缺少是MySQL中一件常常令人惋惜的事,但有一件事很多人似乎没有认识到,那就是用子选择编写的查询通常可以用连接来编写。实事上,即使MySQL具有了子查询,检查用子选择编写的查询也是一件苦差事;用连接而不是用子选择来编写会更为有效。
1. 重新编写选择匹配值的子选择
下面是一个包含一个子选择查询的样例,它从score 表中选择所有测试的学分(即,忽略测验的学分):
可通过将其转换为一个简单的连接,不用子选择也可以编写出相同的查询,如下所示:
[ 查看全文 ]