我们有一个用户表,其中大多数都附有学号。然后,我使用内部加入加入学校的桌子,以获得学校的名称。有些用户没有学号,因此有一个NULL值 - 这意味着他们的数据都没有出现。有没有办法可以根据schoolid字段进行条件连接?
用户表:
Name | Schoolid
-----|---------
John | 27
Fred | 49
Sam | NULL
学校表:
Schoolid | Schoolname
----------|-----------
27 | John's School
49 | Fred's School
当表格加入Schoolid时,结果为
Name | Schoolname
-----|-----------
John | John's School
Fred | Fred's School
理想情况下,我希望结果如下:
Name | Schoolname
-----|-----------
John | John's School
Fred | Fred's School
Sam | NULL
有人可以帮忙吗?这是一件简单的事,我只是一个白痴?
由于
答案 0 :(得分:3)
您正在寻找外部联接。
E.g。
select * from Users left outer join School on Users.Schoolid = School.Schoolid
Microsoft has an article有一些示例可以使其更清晰,即使您使用的是不同的SQL方言。
答案 1 :(得分:0)
SELECT *
FROM Users u
LEFT OUTER JOIN School s ON u.Schoolid = s.Schoolid
甚至。
SELECT *
FROM Users u
FULL OUTER JOIN School s ON u.Schoolid = s.Schoolid