在 SQL Server 中,可以使用 WHERE 子句或 ON 子句来过滤 LEFT JOIN 的结果。

使用 WHERE 子句过滤 LEFT JOIN:

SELECT *
FROM table1
LEFT JOIN table2 ON table1.id = table2.id
WHERE table2.column1 = 'value'

在这个例子中,LEFT JOIN 返回 table1 和 table2 的所有行,但是 WHERE 子句只返回 table2 中 column1 等于 'value' 的行。

使用 ON 子句过滤 LEFT JOIN:

SELECT *
FROM table1
LEFT JOIN table2 ON table1.id = table2.id AND table2.column1 = 'value'

在这个例子中,LEFT JOIN 返回 table1 和 table2 的所有行,但是 ON 子句只返回 table2 中 column1 等于 'value' 的行。这种方法通常比使用 WHERE 子句更有效率,因为它在连接之前过滤数据。

SQL Server LEFT JOIN 过滤:WHERE 子句 vs ON 子句

原文地址: https://www.cveoy.top/t/topic/kUF9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录