请看下这个SQL的查询效率

来源:百度知道 编辑:UC知道 时间:2024/07/08 01:23:46
SELECT `表_1`. * , `表_2`.id, `表_2`.title
FROM `表_1` , `表_2`
WHERE `表_1`.aid = `表_2`.id
AND `表_2`.title = '标题'

不太懂 看到别人的老是用一些 表,b 表,c left jion 之类的东西
请问 我这个 两个表关联查询效率如何 有没有更好的方法

用INNER JOIN还是LEFT/RIGHT OUTER JOIN不是涉及效率的问题,而是需求的问题。比如你要求列出主表的所有记录以及他们的子表里相关信息必须要用OUTER JOIN。

SELECT `表_1`. * , `表_2`.id, `表_2`.title
FROM `表_1` , `表_2`
WHERE `表_1`.aid = `表_2`.id
AND `表_2`.title = '标题'

优化后:
SELECT `表_1`. * , `表_2`.id, `表_2`.title
FROM `表_1` INNER JOIN `表_2`
ON (`表_1`.aid = `表_2`.id)
WHERE (`表_2`.title = '标题')

这个句子很简单

在不考虑表结构和索引的情况下

单从语句上看效率已经最高

这种效率就可以,你这种写法只是inner join 形式的一种变形。效率是一样的。

不错,只要表一主健是表二的外健,那两表效率非常高.另外,inner join效率最高,尽量少用left join

还可以!