数据库期末复习资料数据库末复习资料.doc

数据库期末复习资料数据库末复习资料.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库期末复习资料数据库末复习资料

1、查询全体学生姓名,学号,性别 SELECT 学号,姓名,性别 FROM XSQK 2、查询学生全部信息 SELECT * FROM XSQK 3、查询选修了课程的学生的学号 SELECT 学号 FROM XS_KC GROUP BY 学号 4、查询全体学生的姓名(将姓名改为NAME),学号,性别 SELECT DISTINCT 姓名 NAME,学号,性别 FROM XSQK1 二、条件查询 1、查询选修课程为101的学生的学号和成绩 SELECT 学号,成绩 FROM XS_CK WHERE 课程号=101 用课本作业做: 2、查询分数在70分以上的学生选课信息,并按成绩降序排列 SELECT * FROM SC WHERE GR70 ORDER BY GR DESC 3、在SC表中按学号分组汇总学生的平均分,并按平均分的降序排列。 SELECT S#,平均分=AVG(GR) FROM SC GROUP BY S# ORDER BY 平均分 DESC 或 SELECT S#,AVG(GR)AS 平均分 FROM SC GROUP BY S# ORDER BY 平均分 DESC 4、在SC表中查询选修了3门以上课程的学生学号。 SELECT S# FROM SC GROUP BY S# HAVING COUNT(*)3 5、按学号对不及格的成绩记录进行明细汇总。 SELECT S#,C#,GR FROM SC WHERE GR60 ORDER BY S# COMPUTE COUNT(GR) BY S# 6、分别用子查询和连接查询,求107号课程不及格的学生信息。 子查询: SELECT 学号,姓名,联系电话 FROM XSQK WHERE 学号 IN( SELECT 学号 FROM XS_KC WHERE 课程号=107 AND 成绩60) 连接查询: SELECT XSQK.学号,姓名,联系电话 FROM XSQK JOIN XS_KC ON XSQK.学号=XS_KC.学号 WHERE 课程号=107AND 成绩60 7、用连接查询在XSQK表中查询住在同一寝室的学生,即其联系电话相同 SELECT A.学号,A.姓名,A.联系电话 FROM XSQK A JOIN XSQK B ON A.联系电话=B.联系电话 WHERE A.学号B.学号 8、查询XSQK表中所有系名 SELECT DISTINCT 所在系 FROM XSQK 9、查询有多少同学选修了课程。 SELECT COUNT(*)AS 选修了课程的人数 FROM XSQK WHERE 学号 IN( SELECT 学号 FROM XS_KC) 10、查询有多少同学没有选课。 SELECT COUNT(*)AS 没有选修课程的人数 FROM XSQK WHERE 学号 NOT IN( SELECT 学号 FROM XS_KC) 11、查询与杨颖同一个系的同学姓名。 SELECT 姓名 FROM XSQK WHERE 所在系=( SELECT 所在系 FROM XSQK WHERE 姓名=杨颖) 12、查询选修了课程的学生的姓名、课程名与成绩。 SELECT 姓名,课程名,成绩 FROM XS_KC,XSQK,KC WHERE (XS_KC.学号=XSQK.学号) AND (XS_KC.课程号=KC.课???号) AND XSQK.学号=ANY( SELECT 学号 FROM XS_KC) 13、统计每门课程的选课人数和最高分。 SELECT 课程名,COUNT(*)AS 选此课人数,MAX(成绩)AS 最高分 FROM XS_KC,KC WHERE XS_KC.课程号=KC.课程号 GROUP BY 课程名 14、统计每个学生的选课门数和考试总成绩,并按选课门数的降序排列。 错误程序: SELECT XSQK.学号,姓名,COUNT(*)AS 选课门数,SUM(成绩)AS 总成绩 FROM XS_CK,XSQK WHERE XS_CK.学号=XSQK.学号 GROUP BY 姓名 ORDER BY 选课门数 DESC 正确程序: SELECT 学号,姓名,COUNT(*)AS 选课门数,SUM(成绩)AS 总成绩 FROM XS_CK,XSQK WHERE XS_CK.学号=XSQK.学号 GROUP BY 姓名 ORDER BY 选课门数 DESC 15、 WHERE子句与HAVING子句有何不同? 答:二者的根本区别在于作用对象不同,WHERE自居作用于基本表或视图,从中选择满足条件的元祖;HAVING子句作用于组,选择面租条件的组,必须用在GROUP BY子句之后,但GROUP BY子句可没有HAVING子句。

文档评论(0)

zyongwxiaj8 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档