sql 用逗号和内联外联效率的区别

 我来答
匿名用户
2013-07-21
展开全部
两个表的情况下:

SELECT ... FROM a, b WHERE a.id = b.aid

SELECT ... FROM a JOIN b ON ( a.id = b.aid )

效果是一样的。 执行计划什么的, 没什么区别的。

多个表的情况下:

SELECT ... FROM a, b, c, d WHERE a.id = b.aid and a.id = c.aid and c.id = d.cid

SELECT ... FROM
a JOIN b ON (a.id = b.aid )
JOIN c ON (a.id = c.aid )
JOIN d ON (c.id = d.cid )
就可能会存在差别。

因为 FROM a, b, c, d WHERE ......
这种写法, 先关联哪2个表, 是数据库去判断处理的。

而 a JOIN b ON (...) JOIN c ON(...) JOIN d ON(...) 这个 JOIN 的顺序, 是由写 SQL 语句的人来判断的。先哪2个表先 JOIN.
micro0369
2013-07-21 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4041万
展开全部
应该是没有什么区别的,除非写法出来问题。

经过数据库 解析后应该是一致的语法,效率也一样
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式