什么更好?为什么?
功能a:
DELETE a FROM a LEFT JOIN b
ON a.CHROM=b.CHROM AND a.POS=b.POS
功能b:
DELETE a FROM a, b
WHERE a.CHROM=b.CHROM AND a.POS=b.POS
答案 0 :(得分:1)
最好加入FROM子句,因为它首先被执行。有些情况下你应该加入哪里但不是在这里。所以我会说功能a是你最好的选择。另外,我认为你不想在函数a中进行左连接,因为你将加入比你要删除的更多的记录。在函数a中使用INNER JOIN可能更好,更有效。一个好的做法是在删除或更新之前进行选择。如果你运行这些选择,你会得到相同的结果吗?您应该在第一个查询中获得更多结果,因为您使用左连接,第二个查询类似于内连接。
SELECT a FROM a LEFT JOIN b
ON a.CHROM=b.CHROM AND a.POS=b.POS
SELECT a FROM a, b
WHERE a.CHROM=b.CHROM AND a.POS=b.POS
看看这个答案:
如果需要更好的连接解释,这对我很有帮助: