子查询辨析
来源:互联网 发布:西班牙 葡萄牙 知乎 编辑:程序博客网 时间:2024/06/08 04:29
列子查询。子查询返回的结果集类型是一条单一元组(return a single row)。
行子查询。子查询返回的结果集类型是一个单一列(return a single column)。
问我,是否这两个概念反了? 心有感念,谢谢提醒,所以特连夜写此短文,以慰好友之善意,不枉真情一片。
说明:从结果集的角度看,书中还写了:标量子查询/表子查询,加上上面2种,共4种。
特别感谢好友反复提醒,辨析至此。此时代,能直言者,善莫大焉,不易。致谢玉辉!
辨析:
1 首先,概念是从结果集的特征角度去说的。
2 其次,如果从面向的对象角度去看,这么分其实不适用。更为适宜(指在SQL中可以出现的方式)的提法,应该是:
从结果集的角度看,子查询分为四类:
标量子查询。子查询返回的结果集类型是一个简单值(return a scalar,a single value)。
单行单列子查询。子查询返回的结果集类型是零条或一条单元组(return a zero or single row,but only a column)。相似于标量子查询,但可能返回零条元组。
多行单列子查询。子查询返回的结果集类型是多条元组但只有一个简单列(return multiple rows,but only a column)。
表子查询。子查询返回的结果集类型是一个表(多行多列)(returna table,one or more rows of one or more columns)。
3 如此辨析,原文确实不对。
4 实践中,多用的概念是“标量子查询”,“标量子查询”经常被优化,如MIN/MAX的优化。其他的则不作为特殊情况特别处理,是否优化需要看具体情况。
5 可以参考得资料:
http://dcx.sybase.com/1101/en/dbusage_en11/ug-subquery-s-4318996.html
http://www.comp.nus.edu.sg/~ooibc/courses/sql/dml_query_subquery.htm
- 子查询辨析
- MySQL子查询辨析
- MySQL子查询---EXISTS优化策略辨析
- MySQL执行计划辨析--子查询的相关显示项的含义
- PostgreSQL查询计划中的路径-BitmapHeapPath-辨析
- 辨析
- 子查询
- 子查询
- 子查询
- 子查询
- 子查询
- 子查询
- 子查询
- 子查询
- 子查询
- 子查询
- 子查询
- 子查询
- HiveSQL解析过程详解
- 2014中国数据库技术大会---PostgreSQL和MySQL的存储层深度解析
- Android获得重力感应是否开启
- ubuntu vim command
- android 错误java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1
- 子查询辨析
- PPTP协议工作原理
- 简谈子查询的优化---与达梦公司@joehan100先生探讨
- MySQL是怎么使用索引条件下推的?
- MySQL的ORDERBY...LIMIT优化思路
- PostgreSQL查询结果错误一例
- (原创)我对未来的人类的发展,以及AI技术发展的一些思考。
- 利用android studio实现手机信息界面
- 开源数据库PostreSQL与MySQL,未来数据处理的新选择