这个sql语句为什么要使用子查询

还有为什么在子查询结束那儿会有个a... 还有为什么在子查询结束那儿会有个a 展开
 我来答
Ice海Man
2017-07-20 · TA获得超过302个赞
知道小有建树答主
回答量:203
采纳率:0%
帮助的人:206万
展开全部

因为不清楚你具体需求,所以为什么要用子查询,是分析不了的。

a是子查询数据集的一个别名。相当于a就是这个子查询数据集的临时表名。例如

select * from (select no,name from 用户表)a left join 职务表 b on a.no=b.no

你上述的语句由于 1=2条件,应该是查询不出任何数据的。

更多追问追答
追问
此处需要注意的是SQL语句中包含主表,明细表,因为这两个表都包含SheetSeries字段,程序根据Where
1=1后面语句直接替换SheetSeries=’’值时会提示字段不明确,固需要在查询语句外面在嵌套一层查询。
原来是这么解释的 ,,但是我看不懂,,您能给我解释一下吗?
追答

子查询的作用:1、方便理解。2、实现更复杂的查询。3、提高查询效率。

按你的说法(SheetSeries=’’值时会提示字段不明确),可以不用嵌套一层查询的,你可以这样写

--直接明确SheetSeries字段是搜索哪个表就可以了。
select ai.SheetSeries,ai.sheetno
from articlein ai left join articleindetail aid on ai.SheetSeries=aid.SheetSeries
where 1=1 and ai.SheetSeries=''
住书军1484
2017-07-20 · TA获得超过105个赞
知道答主
回答量:517
采纳率:0%
帮助的人:68.4万
展开全部
子查询的作用:
1、方便理解。
2、实现更复杂的查询。
3、提高查询效率。

扩展知识:
1、当直接从SQL的数据库中查询(列出)某些数据很困难或办不到时,可以通过从“查询结果集”中再次提取数据集来实现复合查询。这个“查询结果集”就被叫做子查询。
2、例,当表1与表2中以ID1关联,表2与表3以ID2关联,要以表1为基准复合查询三表中的数据时,就需要先查出表2与表3的子查询集,然后再与表1进行多表联查。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式