子查询
1.定义
也叫内部查询,先于主查询执行。
注意:子查询的结果被主查询使用。
子查询可以嵌入where、having、from子句中。
子查询可以【单独执行】。
2.语句
select list
from table
where expr operator(select list from table);
3.expr operato操作符
expr operato包括比较运算符:
①单行运算符
<,>,=,<>,<=,>=
例:查询出A表中比张三年龄更大的其他同学。
select name, age
from A
where age>(select age
from A
where name="张三");
②多行运算符
in,any,all
4.多行运算符:in
5.多行运算符:any
表示和子查询的【任意】一行结果进行比较,满足其中一个条件即可。
①**< any**:小于子查询结果集中的任意一个,即小于最大值即可。
②**> any**:大于子查询结果集中的任意一个,即大于最小值即可。
③**= any**:等于子查询结果集中的任意一个,相当于in。
6.多行运算符:all
表示和子查询的所有结果进行比较,每一行都必须满足条件。
①**< all**:小于子查询结果集中的所有行,即小于最小值即可。
②**> all**:大于子查询结果集中的所有行,即大于最大值即可。
③**= all**:等于子查询结果集中的所有行。