表1中有学号和每次考试成绩,表2有学号和姓名,查询生成新的表,包括学号、成绩、姓名 
对于表2中没有姓名的,则只显示学号和成绩。select a.学号,isnull(a.姓名,'') as 姓名,b.成绩 from 表2 a 
                                       left join 表1 b on a.学号=b.学号

解决方案 »

  1.   

    select 表1.学号,表2.姓名,表1.成绩 from 表1,表2 where 表1.学号=表2.学号
      

  2.   

    select a.学号,isnull(a.姓名,'') as 姓名,b.成绩 from 表2 a 
                                           left join 表1 b on a.学号=b.学号
      

  3.   

    select a.班级,a.学号,isnull(b.姓名,'') as 姓名,a.英语,a.数学........
                    from 表1 a right join 表2 b
                             on a.学号=b.学号
                                where a.班级='某个班级'
      

  4.   

    select 表1.学号,表2.姓名,表1.成绩 from 表1,表2 where 表1.学号=表2.学号(+)and 表1.班级 = 
      

  5.   

    同意didoleo
    select a.班级,a.学号,isnull(b.姓名,'') as 姓名,a.英语,a.数学........
                    from 表1 a right join 表2 b
                             on a.学号=b.学号
                                where a.班级='某个班级'
      

  6.   

    isnull是干什么用的啊??????我是菜鸟,不懂呢,能给我说一下吗??????谢谢
      

  7.   

    ISNULL
    使用指定的替换值替换 NULL在这里用空格替换NULL
      

  8.   

    select a.班级,a.学号,isnull(b.姓名,'') as 姓名,a.英语,a.数学........
                    from 表1 a join 表2 b
                             on a.学号=b.学号
                                where a.班级='某个班级'
      

  9.   

    表1结构:
    班级    学号    英语   数学 ...........表2结构:
    学号   姓名需求结果:
    班级、学号、姓名、英语、数学........
    (表2中没有时姓名取空字符)
    select a.*,姓名 
                   from 表1 a 
                   left outer join 表2 b 
                   on a.学号=b.学号
                            where 班级='班级名字'
      

  10.   

    问题在糊里糊涂中解决,从大家的回答中,谁能简单说说:
    left join
    right join
    left outer join
    的主要区别是什么?