一个。
SELECT *
FROM `photo`
INNER JOIN `photo_comment`
ON `photo`.id = `photo_comment`.photo_id
LIMIT 0,2
乙
SELECT *
FROM (SELECT * FROM `photo_comment`) AS T,`photo`
WHERE T.photo_id = `photo`.id
LIMIT 0,2
下进行。
SELECT *
FROM `photo_comment`,`photo`
WHERE `photo`.id=`photo_comment`.photo_id
LIMIT 0,2
以下查询之间有什么区别?这是最有效的执行方式吗?
提前感谢任何帮助和启发。
答案 0 :(得分:1)
第一个查询和第三个查询是相同的。第一个查询使用ANSI SQL-92
格式,而第三个查询(旧的)使用SQL-89
格式。
第二个查询较慢(但不是完全慢),因为它首先扫描photo_comment
并将其与另一个表连接。
答案 1 :(得分:0)
第一个和第三个查询类似。第二个是最慢的因为使用临时表来存储内部选择的结果。