none
求sql语句 RRS feed

  • 问题

  • if object_id('s') is not null
    drop table s
    go
    create table s
    (
     sno int not null identity  primary key ,--学号
     sname varchar(20) not null --学生名称
    )
    go
    if object_id('c') is not null
    drop table c
    go
    create table c
    (
     cno int not null identity primary key,--课程编号
     cname varchar(20) not null,--课程名称
     cteacher  varchar(20) not null
    )
    if object_id ('sc')is not null
    drop table sc
    go
    create table sc
    (
     sno int not null foreign key   references s(sno),--外键 学号
     cno int not null foreign key  references c(cno),--外键  课程名称
     scgrade int not null--成绩
    )
    go

    列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩

    2010年4月27日 7:01

答案

  • select s.sno,[1号课程成绩]=s.scgrade,[2号课程成绩]=c.scgrade
    from sc s join sc c on s.sno=c.sno
    where s.cno=1 and c.cno=2 and s.scgrade>c.scgrade

     

    --如果你的“1号课程”是课程名字的话 还需要链接C表
    select s.sno,[1号课程成绩]=s.scgrade,[2号课程成绩]=c.scgrade
    from sc s join sc c on s.sno=c.sno
              join  c k on s.cno=k.cno
              join  c p on c.cno=p.cno
    where k.cname='1号课程' and p.cname='2号课程' and s.scgrade>c.scgrade

    • 已标记为答案 谢丁丁 2010年4月27日 11:57
    2010年4月27日 9:35

全部回复

  • select s.sno,[1号课程成绩]=s.scgrade,[2号课程成绩]=c.scgrade
    from sc s join sc c on s.sno=c.sno
    where s.cno=1 and c.cno=2 and s.scgrade>c.scgrade

     

    --如果你的“1号课程”是课程名字的话 还需要链接C表
    select s.sno,[1号课程成绩]=s.scgrade,[2号课程成绩]=c.scgrade
    from sc s join sc c on s.sno=c.sno
              join  c k on s.cno=k.cno
              join  c p on c.cno=p.cno
    where k.cname='1号课程' and p.cname='2号课程' and s.scgrade>c.scgrade

    • 已标记为答案 谢丁丁 2010年4月27日 11:57
    2010年4月27日 9:35
  • 谢了

    2010年4月27日 12:00