3.1 单行子查询
3.1.1 子查询基本知识
子查询的实质是一个 select 语句的查询结果能够作为另一个语句的输入值。
子查询可以使用在 where 字句中、from 字句中、以字段的形式 出现在select 语句的选择列中
3.1.2 单行子查询应用
3.1.3 子查询使用经验
当子查询执行结果的行数较大,而主查询执行结果的行数较小时,子查询执行效率较高;而情况相反时,则连接查询执行效率较高。
3.2 多行子查询
多行子查询是指子查询的返回结果是多行数据。
常见的多行比较符包括 in、all、any、some
3.2.2 all关键字查询
语法:表达式字段 多行比较运算符 all (子查询)
含义:
1) < all ,表示小于最小值
2) > all ,表示大于最大值
3.2.3 any |some 关键字子查询
语法:表达式字段 多行比较运算符 any |some (子查询)
含义:
1) < any | some ,小于最大值
2) > any | some ,大于最大值
3) = any | some ,与 in 运算符等价
3.3 子查询非典型应用
3.3.1 在 from 字句中使用子查询
3.3.2 在 select 字句中使用子查询
3.3.3 exists 关键字
exists 用于检查子查询是否至少会返回一行数据,实际上该字查询并不返回任何数据,而是返回值true 或 false 。
3.4 在 DML 语句中使用子查询