Mysql常用sql语句(20)- 子查询重点知识

测试必备的Mysql常用sql语句系列

//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 语句中出现的字段
  • 子查询的结果集通常会作为其外层查询的数据源或用于条件判断