假设我有两个表A
(ID, col1, col2
(和B
(ID, col1, col2
(。
写更好吗
SELECT *
FROM
(SELECT *
FROM A
WHERE col1 = 1) A
JOIN
(SELECT *
FROM B
WHERE col2 = 2) B ON A.ID = B.ID
或者更确切地说:
SELECT *
FROM A
JOIN B ON A.ID = B.ID
WHERE A.col1 = 1
AND B.col2 = 2
是。最好使用联接。
使用WHERE
子句联接数据不允许像LEFT|RIGHT JOIN
那样获取数据。WHERE
子句允许您以INNER JOIN
的方式获取数据。
有关更多详细信息,请参阅:SQL Joins 的可视化表示