sql之10 子查询

总结下自己对子查询的经验:

子查询:即一般语句中还存在select语句,这个select部分就是子查询。

相关子查询:子查询里包含有外部查询的某一列值

工作原理:外部查询一行,子查询就要查询一次。(因此不建议用子查询)

1、exists

当使用exists做where 子句时,使用格式为 where exists(子查询)

注意:当子查询有返回结果,则where为true,否则为false。

2、in

当使用in做where子句时,子查询只能返回一列或单值

3、子查询可以做为外部select的列

注意:此时子查询只能返回单值。

4、在where子句里使用子查询做表达式的一部分

注意:如果子查询返回不是单值,则需要使用all或any,此时格式为all/any(子查询),这部分要放到where语句的最后面

子查询注意点:

不能有order by,必须在括号内。

你可能感兴趣的:(sql)