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