导图社区 SQL查询之子查询
SQL查询之子查询的思维导图,介绍了N行N列、概念、分类的内容,希望这份脑图会对你有所帮助。
DDL(Data Definition Language)语句: 数据定义语言,主要是进行定义/改变表的结构、数据类型、表之间的链接等操作。常用的语句关键字有 CREATE、DROP、ALTER 等
SQL查询之条件查询的思维导图,语法有select column1,column2,... from table_name where condition;分类有运算符、条件连接、包含查询、范围查询、空值判断、any/all(集合)。
SQL查询之行列转换的思维导图依据现有数据,将以行(列)展示的数据转换成以列(行)的形式展示,介绍了要求、方法、专用函数的内容。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
子查询
N 行N列
根据查询结果行数与列数的不同,简单分为以下四种查询结果
1.单行单列:无论是在行还是列上,都只有一个
2.多行单列:查询结果中仅有一列数据,不过行数上不止一行
3.单行多列:查询结果中仅有一行数据,但是列数上不止一列
4.多行多列:无论是在行还是列上,都不止一个
概念
在一个查询语句中,嵌入一条查询语句,该条嵌入的语句的查询结果成为外层SQL的一部分,即子查询。
1.查询结果作为一个集合,跟在WHERE或HAVING子句中(最多)
可以使用N行N列中的每一种情况 主查询与子查询无论在列数还是属性上都要相统一
2.查询结果作为一个数据源,跟在FROM子句中
1)数据源本身没有行列的限制,所以子查询在该处也可使用N行N列的每种情况 2)子查询作为数据源时,若SELECT子句某字段上出现了函数,则该字段只有命别名才可以被主查询引用 3)主查询不关心子查询的结果是如何得到的,只关心子查询是什么结果,子查询中的字段能否被正常引用
3.查询结果作为一个常量,跟在SELECT子句中
查询结果限制在单行单列
分类
相关子查询
子查询语句不能独自运行,子查询中牵扯主查询中的一部分内容,主查询只在乎与子查询的关系
书写
EXISTS : 对应条件查询中的IN 含义:返回结果集为真,执行主查询语句
NOT EXISTS : 对应条件查询中的NOT IN 含义:不返回结果集为真,执行主查询语句
语法
SELECT T1.COL_LIST FROM TB_NAME T1 WHERE EXISTS / NOT EXISTS ( SELECT T2.COL_LIST FROM TB_NAME T2 WHERE T1.COL_NAME = T2.COL_NAME AND T2.CONDITION)
非相关子查询
子查询语句能够独自运行,子查询中不牵扯主查询中的任何内容,主查询在乎的是子查询的结果
1.非相关子查询可以用在任何位置,而相关子查询仅用在WHERE或HAVING子句中作为条件,且绝大多数情况下两者可以发生转换。 2.非相关子查询在书写和理解上都更加容易,而相关子查询之所以存在,是因为在很多情况下使用相关子查询能有更高的运行效率。