假设我们在SQL数据库中的两个表(我在的情况下使用PostgreSQL的答案取决于数据库):在SQL的附加条件加入
CREATE TABLE testA
(
id integer,
checked boolean
)
CREATE TABLE testB
(
id integer,
testA_id integer
)
我想要做一个选择从testB
加入了与testA
并得到所有结果是checked
。有两种方法:
SELECT tA.*, tB.*
FROM testB AS tB
JOIN testA AS tA
ON (tA.id = tB.testA_id AND tA.checked)
或
SELECT tA.*, tB.*
FROM testB AS tB
JOIN testA AS tA
ON tA.id = tB.testA_id
WHERE
tA.checked
哪种方式最好?有没有性能差异?
非常真实。 [我要添加相同的](http://sqlfiddle.com/#!1/c9d0b/5)。 +1 – hims056