SQL之查询补充教程
子查询的条件不依赖于父查询,即不相关子查询。
例如:
所用到的表:
子查询的查询条件依赖于父查询,即相关子查询。
求解相关子查询不能像求解不相关子查询那样一次将子查询求解出来,然后求解父查询。
ANY和ALL
子查询返回单值时可以用比较运算符,但返回多值时要用ANY或ALL谓词修饰符。
ANY 查询结果中的某个值
ALL 查询结果中的所有值
例如:
EXISTS
带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值true或逻辑假值false。
使用EXISTS后,若内层查询结果非空,则外层的WHERE子句返回真值,否则返回假值。
使用NOT EXISTS后,若内层查询结果为空,则外层WHERE子句返回真值,否则返回假值。
并操作UNION、交操作INTERSECT、差操作EXCEPT
基于派生表的查询
子查询不仅可以出现在WHERE子句中,还可以出现在FROM子句中,这时子查询生成的临时派生表称为主查询的查询对象。
老九学堂会员社群出品