读书人

mysql 请教where a.id=b.id 和join o

发布时间: 2013-12-16 23:49:16 作者: rapoo

mysql求助 请问where a.id=b.id 和join on a.id=b.id 在效率上的区别
下面是ecshop 的商品表和品牌表的查询,请问它们的查询效率有什么区别呢?
还有一个问题是 left join 和join的效率哪个高一点呢。
谢谢 !!


SELECT a.`goods_id` , a.`goods_name` , b.brand_name
FROM `ecs_goods` AS a
LEFT JOIN ecs_brand AS b ON a.`brand_id` = b.`brand_id`


SELECT a.`goods_id` , a.`goods_name` , b.brand_name
FROM `ecs_goods` AS a, ecs_brand AS b
WHERE a.`brand_id` = b.`brand_id`


mysql
[解决办法]
你的第一式是左链接,因无其他过滤条件
结果集中将会有左表(ecs_goods)的全部记录

你的第二式是逗号连接(INNER JOIN 的简写)
结果集中只会出现符合连接条件的记录

两者的作用是不同的,不能做效率比较

读书人网 >PHP

热点推荐