select student.学号,姓名,分数
from student
inner join grade on student.学号=grade.学号
inner join curriculum on 课程名称='C语言程序设计’

解决方案 »

  1.   

    select student.学号,姓名,分数
    from student
    inner join grade on student.学号=grade.学号
    inner join curriculum on 课程名称='C语言程序设计’
    如果是连接查询,on后面是连接条件,不是where后面的过滤条件。select student.学号,姓名,分数
    from student
    inner join grade on student.学号=grade.学号
    inner join curriculum on grade.课程=curriculum.课程
    where curriculum.课程名称='C语言程序设计’
      

  2.   

    curriculum 和student grade这两个表之间是什么关系
      

  3.   


              学号 课程编号 分数 备注
    0001 0001 80
    0001 0002 90
    0001 0003 87
    0001 0004 88
    0001 0005 78
    0002 0001 76
    0002 0002 73
    0002 0003 67
    0002 0004 70
    0002 0005 89
    0003 0001 83
    0003 0002 73
    0003 0003 84
    0003 0004 75
    0003 0005 90
    0004 0001 80
    0004 0001 80
    0004 0001 80
    grade 表
      

  4.   

    课程编号 课程名称 学分
    0001 大学计算机基础 2
    0002 C语言程序设计 2
    0003 SQL Server数据库及应用 2
    0004 英语 4
    0005 高等数学 4
    curriculum表
      

  5.   

    学号 性别 出生日期 家庭地址 备注 姓名
    0001 男 1980-10-1 衡山市东风路76号 刘卫平
    0002 男 1980-12-2 东阳市八一北路25号 张卫民
    0003 男 1980-7-4 长岭市五一路785号 马东
    0004 男 1980-5-10 滨海市洞庭大道278号 钱达理
    0005 男 1980-7-13 东方市中山路25号 东方牧
    0006 男 1980-6-4 长岛市解放路25号 郭文斌
    0007 女 1980-3-15 山南市红旗路15号 肖海燕
    0008 女 1980-4-18 滨江市韶山路35号 张明华
    student 表
      

  6.   


    declare @grade table 
    (学号 varchar(4),课程编号 varchar(4),分数 int,备注 varchar(200))
    insert into @grade
    select '0001','0001',80,null union all
    select '0001','0002',90,null union all
    select '0001','0003',87,null union all
    select '0001','0004',88,null union all
    select '0001','0005',78,null union all
    select '0002','0001',76,null union all
    select '0002','0002',73,null union all
    select '0002','0003',67,null union all
    select '0002','0004',70,null union all
    select '0002','0005',89,null union all
    select '0003','0001',83,null union all
    select '0003','0002',73,null union all
    select '0003','0003',84,null union all
    select '0003','0004',75,null union all
    select '0003','0005',90,null union all
    select '0004','0001',80,null union all
    select '0004','0001',80,null union all
    select '0004','0001',80,nulldeclare @curriculum table 
    (课程编号 varchar(4),课程名称 varchar(14),学分 varchar(18),c4 int)insert into @curriculum
    select '0001','大学计算机基础','2',null union all
    select '0002','C语言程序设计','2',null union all
    select '0003','SQL','Server数据库及应用',2 union all
    select '0004','英语','4',null union all
    select '0005','高等数学','4',nulldeclare @student table 
    (学号 varchar(4),性别 varchar(2),出生日期 datetime,家庭地址 varchar(19),
    姓名 varchar(6),备注 varchar(6))
    insert into @student
    select '0001','男','1980-10-1','衡山市东风路76号','刘卫平',null union all
    select '0002','男','1980-12-2','东阳市八一北路25号','张卫民',null union all
    select '0003','男','1980-7-4','长岭市五一路785号','马东',null union all
    select '0004','男','1980-5-10','滨海市洞庭大道278号','钱达理',null union all
    select '0005','男','1980-7-13','东方市中山路25号','东方牧',null union all
    select '0006','男','1980-6-4','长岛市解放路25号','郭文斌',null union all
    select '0007','女','1980-3-15','山南市红旗路15号','肖海燕',null union all
    select '0008','女','1980-4-18','滨江市韶山路35号','张明华',null
    select a.学号,a.姓名,分数
    from @student a
    right join @grade b on a.学号=b.学号
    left join @curriculum c on b.课程编号=c.课程编号
    where c.课程名称='C语言程序设计'
    /*
    学号   姓名     分数
    ---- ------ -----------
    0001 刘卫平    90
    0002 张卫民    73
    0003 马东     73*/
      

  7.   

    select student.学号,姓名,分数
    from student
    inner join grade on student.学号=grade.学号
    inner join curriculum on curriculum.课程编号=grade.课程编号
    where 课程名称='C语言程序设计'
      

  8.   

    select student.学号,姓名,分数
    from student
    inner join grade on student.学号=grade.学号
    inner join curriculum on curriculum.课程编号=grade.课程编号
    where 课程名称='C语言程序设计'