问题描述:  已知关系模式:  S (SNO,SNAME,SSEX,SAGE,CLASS) 学生关系。SNO-学号,CLASS-班级,SNAME-姓名,SSEX-性别,SAGE-年龄     C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师  SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩
  1. 找出没有选修过“李明”老师讲授课程的所有学生姓名
  2. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩
  3. 列出既学过“1”号课程,又学过“2”号课程的所有学生姓名

  4. 列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号
  5. 列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩
  6. 列出至少有12名男生的班号

解决方案 »

  1.   

    家庭作业,好吧,我看看,好久没有做过作业了
    --------------------------------------------------------
    1 SELECT S.SNAME FROM S,C,SC WHERE S.SNO=SC.SNO AND 
     C.CNO=SC.CNO AND C.CTEACHER <>'LIMING';
    2..........
    不好意思,还有事,自己好好做做吧
      

  2.   

    已知关系模式:  S (SNO,SNAME,SSEX,SAGE,CLASS) 学生关系。SNO-学号,CLASS-班级,SNAME-姓名,SSEX-性别,SAGE-年龄     C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师  SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩
      1. 找出没有选修过“李明”老师讲授课程的所有学生姓名
    select a.SNAME from s a,c b,sc c where a.sno=c.sno and b.cno=c.cno and b.CTEACHER<>'李明'  2. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩
    select a.sno,b.平均成绩 from s a,(select sno,sum(SCGRADE)/count(id) as 平均成绩 from sc where SCGRADE<60 group by sno) b where a.sno=b.sno   3. 列出既学过“1”号课程,又学过“2”号课程的所有学生姓名
    select c.* from c a,sc b,s c where a.cno=b.cno and c.sno=b.sno and a.CNAME='1' and a.CNAME='2'