我正在尝试比较两个查询:
查询 1:
SELECT a,b,c,d,e
FROM tableA
LEFT JOIN tableB
ON tableA.a=tableB.a
WHERE tableA.b=tableB.b AND tableA.c=tableB.c AND tableA.d=tableB.d AND tableA.e=tableB.e
Run Code Online (Sandbox Code Playgroud)
查询 2:
SELECT a,b,c,d,e
FROM tableA
LEFT JOIN tableB
ON tableA.a=tableB.a AND tableA.b=tableB.b AND tableA.c=tableB.c AND tableA.d=tableB.d
WHERE tableA.e=tableB.e
Run Code Online (Sandbox Code Playgroud)
我说这两个查询给出相同的结果是否正确?
此外,说第一个查询构建了一个更大的表来做更大的WHERE
条件是否正确?而在第二种情况下,我们有一个较小的构造表,然后将简单WHERE
应用于该表。
假设结果相同,应该首选哪个查询?是否存在明显的性能问题?