永发信息网

SQL 多表联接查询 这两种写法有什么区别

答案:4  悬赏:10  手机版
解决时间 2021-03-16 13:34
第一种写法:
SELECt * FROM A INNER JOIN B ON A.ID = B.aID WHERe B.typeID = 0
第二种写法:
SELECt * FROM A INNER JOIN (
SELECt * FROM B WHERe typeID = 0

) b ON A.ID = b.aID

包括执行效率,以及如何应用,越详细越好
最佳答案
执行结果是一样的, 第一种按条件匹配两个表检索数据,这是最常用的写法,第二种单从上面的语句来看,有点画蛇添足的感觉, 先将SELECt * FROM B WHERe typeID = 0 视为一个集合(可以认为是临时表),然后在去关联A 表 , 感觉执行效率第一种应该更好
全部回答
第一种是连接查询,第二种是嵌套查询吧 再看看别人怎么说的。
这两个语句执行结果相同,执行计划效率也一样 都是先执行where语句筛选B表资料,再执行inner join
第一种写法是A表与B表的联合形成有匹配的新表(匹配项是A.ID = B.aID),条件是B.typeID = 0, 第二种写法是B表先产生有条件的新表b,条件是 typeID = 0,之后是表A形成有匹配的新表(匹配项是A.ID = b.aID),
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
高中作文描写家乡田园风光800字
K客优品实体体验店在哪里啊,我有事要去这个
哪些小说中有道士与妖相爱的
铁路道口被火车撞了我的车!谁的责任
我这两个月经常头痛,有时候持续数小时,有的
中国电信后山乡营业厅地址在哪,我要去那里办
英雄联盟游戏中界面两边的黑屏怎么去掉
25天的狗狗怎样照顾
东莞 中堂镇黄冲路口 怎么走
新入职中试部,请问中试部的一些问题?
0.1x10是怎么算,理解一下????
泰安市瑞祥复合材料有限公司这个地址在什么地
大学选修课挂科,需要重修吗?影响毕业吗?
女生君未生,君生女见喜。 随君去客栈,女却
小学教师资格证和中学教师资格证的综合素质有
推荐资讯
华裔参演的美剧或日剧
为什么很多人喜欢养狗 , 万一被狗咬 , 不怕得
废物代码中废机油的代码是?
请问如何才能交到女朋友? 本人已经二十一岁
中央成立网络监察部的目的是什么?
屋子里电灯闪了一下,然后空调就自动关机了,
在广州买了个普通牌分析仪被骗了,怎么办
dnf签到活动几时结束
iphone8屏幕是oled吗
我11岁女孩舞蹈练习课时因为只有女孩子所以老
珠海香洲主城区包含哪些地方?
无照经营20吨私盐犯什么罪
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?