内连接和空值

时间:2013-06-28 01:17:05

标签: sql-server-2008

我有3张桌子

  1. 表1
  2. 表2
  3. 表3
  4. 我正在应用内部联接以从所有这些表中检索数据, 但是,如果任何表中的任何值都为null,我就不会得到任何行,有人可以告诉我这样做的正确方法。

    select name, subject, class
    from table1 
    inner join table2
    on table1.subjectId = table2.subjectId
    inner join table3
    on table1.classId = table3.classId
    where studentId = 3
    

    在studentId 3上,table2中没有主题,因此它没有为所有表格提供任何结果。

1 个答案:

答案 0 :(得分:3)

使用左连接。

select name, subject, class 
from table1
    left join table2 on table1.subjectId = table2.subjectId
    left join table3 on table1.classId = table3.classId
where studentId = 3