【发布时间】:2022-01-02 15:15:56
【问题描述】:
假设我有 2 个表 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
【问题讨论】:
-
您应该检查解释计划:例如,DBMS 可以优化查询,使第一个和第二个查询(几乎)相同。