子查询
含义:出现在其他语句中的select语句,称为子查询或内查询
外部的查询语句,称为主查询
分类:
按子查询出现的位置
select后面:
仅仅支持标量子查询(只有一行一列)
from后面 可以将查出来的表当做一个新的表来查询:要求必须起别名
支持表子查询
where后面或者having后面
标量子查询 (> < =)
子查询
多个查询
列子查询 等于列表中的任意一个(IN/NOT IN) 和子查询返回的某一个值比较 (ANY | SOME) 和子查询返回的所有值比较 (ALL)
一般来说数字的比较使用any的地方可以使用min 使用all的地方可以使用max
行子查询 :有局限性,用的不多
exist后面(相关子查询) exist:查看是否存在结果只有1或者0
表子查询
按照结果集的行列数不同:
标量子查询(结果集只有一行一列)
列子查询(结果集只有一行多列)
行子查询(结果集有一行多列)
表子查询(结果集有多行多列)