子查询
来由
需要联合多表查询的时候
不同的表有相同和不同的数据
有时候需要一个表的特有信息作为条件
这样可以分多次查询
但是分开写比较松散,我们不需要中间结果,需要的是最终的结果
因此可以靠把这些子查询写到一起完成最终的查询目的
示例
多层嵌套子查询
作为计算字段的子查询
执行逻辑与相关子查询
对于父查询中的每行都进行一次子查询
如果不用完全限定名那么 都不会利用 父查询的行的信息
比如 where cust_id = cust_id 的时候
默认是拿的 子查询中的 orders表 的每行 进行 cust_id = cust_id
显然每行都成立
即每个父查询的行到子查询中结果都是整个orders表的记录数
注意
阅读和书写一般可以从外往里读
但是数据库是从里向外执行查询
一般和IN结合使用,也可以用于其他过滤操作符
不等于 <> 或 !=
<, <= , > , >=