why*_*heq 3 sql standards sql-standards
在x方面与y相比.
X
SELECT *
FROM a
INNER JOIN b ON
COALESCE(b.columntojoin, b.alternatecolumn) = a.columntojoin
Run Code Online (Sandbox Code Playgroud)
ÿ
SELECT *
FROM a
INNER JOIN b ON
(case when b.columntojoin is null then b.alternatecolumn else b.columntojoin end) = a.columntojoin
Run Code Online (Sandbox Code Playgroud)
COALESCE本质上是一个简短的CASE陈述.
两者都完全一样.
ISNULL在SQL Server中也有(在其他DBMS中有所不同),但这实际上是一个非标准功能,实际上更有限COALESCE.