Mysql常用sql语句(20)- 子查询重点知识
测试必备的Mysql常用sql语句系列
https://www.cnblogs.com/poloyy/category/1683347.html
子查询语句可以嵌套在 sql 语句中任何表达式出现的位置
啥意思??
查询sql 语句的组成一般是这样
select <字段> from <表名> where <查询条件>
字段、表名、查询条件都可以嵌套子查询!
select <子查询> from <表名> where <查询条件> select <字段> from <子查询> as <别名> where <查询条件> select <字段> from <表名> where <子查询>
常见错误写法
select * from (select * from emp);
这样写是会报错的,因为没有给子查询指定别名
正确写法
select * from (select * from emp) as t;
注意点
如果<表名>嵌套的是子查询,必须给表指定别名,一般会返回多行多列的结果集,当做一张新的临时表
只出现在子查询中而没有出现在父查询中的表不能包含在输出列中
- 多层嵌套子查询的最终结果集只包含父查询(最外层的查询)的select 语句中出现的字段
- 子查询的结果集通常会作为其外层查询的数据源或用于条件判断