Wil*_*ins 3 sql-server null join
我有一张桌子Monkeys和一张桌子,上面Trees有一对多关系,由第三张MonkeysTreesFK表加入.
我有这个查询返回给定树的所有猴子和树Id:
SELECT *
FROM Monkeys m
JOIN MonkeysTrees mt ON mt.MonkeyId = m.Id
join Trees t ON t.Id=mt.TreeId
WHERE t.Id = 1;
Run Code Online (Sandbox Code Playgroud)
如果我t.Id将final WHERE子句更改Id为不在Trees表中的那个,我仍然希望返回一个包含所有Monkeys的表,但在连接的字段中为NULL.我怎么能这样做?
您可以使用外部联接,下面的on子句的位置 Monkeys left join (MonkeysTrees inner join Trees where treeid = 1)
SELECT *
FROM Monkeys m
LEFT JOIN MonkeysTrees mt
INNER JOIN Trees t ON t.Id=mt.TreeId AND t.Id = 1
ON mt.MonkeyId = m.Id
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52 次 |
| 最近记录: |