用可空外键连接两个表?

Bon*_*onk 7 t-sql sql-server

我在下面创建了两个表,FK_TypeID在这种情况下可以为空.我想写一个查询返回两个表的连接.

if 对于某一行FK_TypeIDNULL,TypeName也是NULL.我不知道如何创建这样的连接语句?

[Actions]
ActionsID
Date
Message
FK_TypeID //links to the table below

[Type]
TypeID
TypeName
Run Code Online (Sandbox Code Playgroud)

我当前的语句看起来像这样,它只是跳过NULL FK_TypeID

SELECT        *
FROM            Actions 
INNER JOIN      TypeName ON Actions.FK_TypeID = [Type].TypeID
Run Code Online (Sandbox Code Playgroud)

非常感谢帮助!

Jus*_*ony 22

你只需要使用一个 LEFT JOIN

SELECT Actions.Date, Actions.Message, Type.TypeName
FROM Actions
    LEFT JOIN Type 
        ON Type.TypeID = Actions.FK_TypeID
Run Code Online (Sandbox Code Playgroud)

如果Actions未找到与之匹配的匹配Type,那么所有列都Type将是NULL.

这是SQL中不同类型连接的良好图形可视化