gpt4 book ai didi

sql-server - T-SQL:获取全部,但在 'not null' 上加入

转载 作者:行者123 更新时间:2023-12-02 09:24:24 24 4
gpt4 key购买 nike

因此,我尝试从表中获取所有项目,然后如果有联接成员,则添加一些数据,否则将数据保留为空 (null)

我拥有的是这样的:

SELECT 
t.id AS _id,
m.name AS name
FROM
tableT AS t
INNER JOIN
tableM AS m ON t.m_id = m.id

表格如下所示:

tableT:

       id        m.id
----------------
1 NULL
2 1
3 NULL

表M:

       id        name
----------------
1 'Bob'

期望的结果应该是这样的:

       id        name
------------------
1 NULL
2 'Bob'
3 NULL

我怎样才能实现这一点,据我所知内部联接不会加入NULL值,因为它们无法匹配

最佳答案

您正在寻找LEFT JOIN

SELECT 
t.id AS _id,
m.name AS name
FROM tableT AS t
LEFT JOIN
tableM AS m
ON t.m_id = m.id

INNER JOIN 的定义只会返回两个表中都匹配的数据,如果一个表缺少数据,则不会返回该行。

LEFT JOIN 将从第一个表中获取所有数据,仅获取第二个表中的匹配记录,允许使用 NULL 值。

如果有用的话,请进一步阅读;

http://www.w3schools.com/sql/sql_join_left.asp

关于sql-server - T-SQL:获取全部,但在 'not null' 上加入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39076490/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com