左联接但保留 NULL 可能导致 SQL Microsoft的值



我有两个表:

表 A:

id names
1   a
2   b
3   c

和表B:

id names
1   x
2   y

我想在表 A 上执行表 B 的左连接,结果如下表:

id names
1   x
2   y
3   c

如何在 Microsoft SQL 中执行此操作?

您可以使用COALESCE

SELECT a.id, COALESCE(b.name, a.name) AS name
FROM tab1 a
LEFT JOIN tab2 b 
ON a.id = b.id

我想你只是想要coalesce()

select a.id, coalesce(b.name, a.name) as name
from a left join
b
on a.id = b.id;

最新更新