sql子查询括号结尾为什么加字母才正确

2025年03月12日 19:01
有1个网友回答
网友(1):

这是个嵌套查询,写个字母 其实是给嵌套查询的结果集命个别名

等同于 

Select * From tableA as a
--(select 城市 from 仓库 group by 城市) 这个结果集被视为一个表

至于原因,当结果集作表同时出现多个时数据库无法分辨你是从哪儿拿的列(拿哪个结果集的列),所以会强制要求你给嵌套查询的结果集命别名。

--这样写,数据库引擎就懵了,所以就会约束写的人,必须命别 名
Select * From (Select 城市 From 仓库 Group By 城市) inner Join (Select 地名 From 区域表) on 城市=地名