select a.学号,a.姓名,b.课程号,b.课程名
from Student a full join Course b
on a.课程号=b.课程号
order by a.学号,b.课程号

解决方案 »

  1.   

    select isNull(a.学号,''),IsNull(a.姓名,''),IsNull(b.课程号,''),IsNull(b.课程名,'')
    from Student a 
    full join Course b on a.课程号=b.课程号
      

  2.   

    select 学号=isnull(a.学号,''),姓名 =isnull(a.姓名,'')
    ,课程号=isnull(b.课程号,''),课程名=isnull(b.课程名,'')
    from Student a
    full join Course b on a.课程号=b.课程号--如果学号,课程号是数字型,就用:select 学号=isnull(cast(a.学号 as varchar),''),姓名 =isnull(a.姓名,'')
    ,课程号=isnull(cast(b.课程号 as varchar),''),课程名=isnull(b.课程名,'')
    from Student a
    full join Course b on a.课程号=b.课程号
      

  3.   

    如上所述, 主要是用  full join 了。呵。
      

  4.   

    inner join,left join,right join我都明白
    full join是啥意思?能解释一下么,谢谢!
      

  5.   

    FULL JOIN 或 FULL OUTER JOIN。 
    完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
      

  6.   

    select 学号=isnull(a.学号,''),姓名 =isnull(a.姓名,'')
    ,课程号=isnull(b.课程号,''),课程名=isnull(b.课程名,'')
    from Student a
    full join Course b on a.课程号=b.课程号