中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > 数据库综合
SQL Server练习题2
作者:未知 时间:2005-07-27 23:40 出处:CSDN 责编:chinaitpower
              摘要:SQL Server练习题2

题目2

问题描述:
已知关系模式:
S (SNO,SNAME)          学生关系。SNO 为学号,SNAME 为姓名
C (CNO,CNAME,CTEACHER)  课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师
SC(SNO,CNO,SCGRADE)     选课关系。SCGRADE 为成绩

1. 找出没有选修过“李明”老师讲授课程的所有学生姓名

--实现代码:
SELECT SNAME FROM S
WHERE NOT EXISTS(
    SELECT * FROM SC,C
    WHERE SC.CNO=C.CNO 
        AND CNAME='李明'
        AND SC.SNO=S.SNO)

2. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩

--实现代码:
SELECT S.SNO,S.SNAME,AVG_SCGRADE=AVG(SC.SCGRADE)
FROM S,SC,(
    SELECT SNO
    FROM SC
    WHERE SCGRADE<60
    GROUP BY SNO
    HAVING COUNT(DISTINCT CNO)>=2
)A WHERE S.SNO=A.SNO AND SC.SNO=A.SNO
GROUP BY S.SNO,S.SNAME

3. 列出既学过“1”号课程,又学过“2”号课程的所有学生姓名

--实现代码:
SELECT S.SNO,S.SNAME
FROM S,(
    SELECT SC.SNO
    FROM SC,C
    WHERE SC.CNO=C.CNO
        AND C.CNAME IN('1','2')
    GROUP BY SNO
    HAVING COUNT(DISTINCT CNO)=2
)SC WHERE S.SNO=SC.SNO

4. 列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号

--实现代码:
SELECT S.SNO,S.SNAME
FROM S,(
    SELECT SC1.SNO
    FROM SC SC1,C C1,SC SC2,C C2
    WHERE SC1.CNO=C1.CNO AND C1.NAME='1'
        AND SC2.CNO=C2.CNO AND C2.NAME='2'
        AND SC1.SCGRADE>SC2.SCGRADE
)SC WHERE S.SNO=SC.SNO

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

--实现代码:
SELECT S.SNO,S.SNAME,SC.[1号课成绩],SC.[2号课成绩]
FROM S,(
    SELECT SC1.SNO,[1号课成绩]=SC1.SCGRADE,[2号课成绩]=SC2.SCGRADE
    FROM SC SC1,C C1,SC SC2,C C2
    WHERE SC1.CNO=C1.CNO AND C1.NAME='1'
        AND SC2.CNO=C2.CNO AND C2.NAME='2'
        AND SC1.SCGRADE>SC2.SCGRADE
)SC WHERE S.SNO=SC.SNO


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有