在x上与y相比。
X
SELECT *
FROM a
INNER JOIN b ON
COALESCE(b.columntojoin, b.alternatecolumn) = a.columntojoin
ÿ
SELECT *
FROM a
INNER JOIN b ON
(case when b.columntojoin is null then b.alternatecolumn else b.columntojoin end) = a.columntojoin
最佳答案
COALESCE
本质上是一种简写的CASE
语句。
两者的完全相同相同。
SQL Server中也有ISNULL
(与其他DBMS有所不同),但这实际上是一种非标准功能,实际上比COALESCE
受到更多限制。