可能重复:
SQL JOIN: is there a difference between USING, ON or WHERE?
哪个更好:
SELECT `sheet_data`.*
FROM `clip`, `sheet_data`
WHERE `clip`.`mrecord`='8' AND `clip`.`data`=`sheet_data`.`id`
或
SELECT `sheet_data`.*
FROM `clip` INNER JOIN `sheet_data`
ON `clip`.`data`=`sheet_data`.`id`
WHERE `clip`.`mrecord`='8'
为什么?
答案 0 :(得分:4)
在过去的日子里,第一次更快,但这不再适用。我个人认为INNER JOIN更好,因为它更具可读性。它表明了表格之间的关系。您在连接中获得了这些关系,并在WHERE子句中进行过滤。这种分离使查询更具可读性。但这是个人品味的问题。
答案 1 :(得分:1)
没有。 2对于可读性更好,正如您可以通过查看要加入哪些列的ON子句并且不必扫描整个where子句所看到的那样。但从性能角度来看,两个查询都会产生具有相同性能的相同执行计划。
答案 2 :(得分:0)
一般来说,做一个显式连接(第二个)总是更好,因为它更便携。并非所有SQL服务器都实现了隐式连接,而且更容易一目了然地发现了什么。