- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库实验报告2_3
河 北 科 技 大 学 实验报告 级 专业 班 学号 年 月 日 姓名 同组人 指导教师 实验名称 数据查询语言 成绩 实验类型 批阅教师 一、实验目的 学习使用SQL语言,加深对SELECT语言的认识和理解,提高SELECT语言的实际应用能力。 二、实验内容 SELECT数据查询语句 三、实验要求 对数据库表进行各种查询操作: 1: (选择表中的若干列) 求全体学生的学号、姓名、性别和年龄。 SELECT SNO, SNAME, SSEX ,SAGE FROM Student; 结果如图一: (图一) 2: (不选择重复行) 求选修了课程的学生学号。 SELECT DISTINCT SNO FROM Score; 结果如图二: (图二) 3: (使用表达式) 求全体学生的学号、姓名和出生年份。 SELECT SNO, SNAME, year(getDate())-SAGE as age FROM Student; 结果如图三: (图三) 4: (使用列的别名) 求学生的学号和出生年份,显示时使用别名“学号”和“出生年份”。 SELECT SNO 学号, year(getDate())-SAGE 出生年份 FROM Student; 结果如图四: (图四) 5: (比较大小条件) 求年龄大于19岁的学生的姓名和年龄。 SELECT SNAME, SAGE FROM Student WHERE SAGE 19; 结果如图五: (图五) 6: (确定范围条件) 求年龄在19岁与22岁(含20岁和22岁)之间的学生的学号和年龄。 SELECT SNO, SAGE FROM Student WHERE SAGE 19 AND SAGE = 22; 结果如图六: (图六) 7: (确定集合条件) 求在下列各系的学生信息:数学系、计算机系。 SELECT * FROM Student WHERE SDEPT = MA OR SDEPT = CS; 结果如图七: (图七) 8: (匹配查询) 求姓名长度至少是三个汉字且倒数第三个汉字必须是“马”的学生。 SELECT * FROM Student WHERE SNAME LIKE %马__; 结果如图八: (图八) 9: (涉及空值查询) 求缺少学习成绩的学生的学号和课程号。 SELECT SNO, CNO FROM Score WHERE SCORE IS NULL; 结果如图九: (图九) 10:(集函数) 求选修了课程的学生人数。 SELECT DISTINCT count(*) FROM Score; 结果如图十: (图十) 11:(分组查询) 求各门课程的平均成绩与总成绩。 SELECT CNO 课程号, AVG(SCORE) 平均成绩, SUM(SCORE) 总成绩 FROM Score GROUP BY CNO; 结果如图十一: (图十一) 12:(分组查询) 输入以下查询语句并执行,观察出现的其结果并分析其原因。 SELECT SNAME,SDEPT,COUNT(*)FROM STUDENT WHERE SDEPT=’CS’ GROUP BY SDEPT; 结果:列 STUDENT.SNAME 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 原因:因为sql语句如果包含GROUP BY,则select列字段必须为聚合函数或者group by含有的列字段。 13:(自然连接查询) 求学生号以及其选修课程的课程号和成绩,但查询结果中只能有一个SNO字段。 SELECT SNO, CNO, SCORE FROM Score WHERE SNO IN ( SELECT SNO FROM Score GROUP BY SNO HAVING COUNT(*) = 1 ); 结果如图十二: (图十二) 14:(连接查询与表的别名) 求选修了课程的学生的学生姓名、课程号和成绩。 SELECT SNAME, CNO, SCORE FROM Student, Score WHERE Student.SNO = Score.SNO; 结果如图十三: (图十三) 15:(自身连接查询) 求年龄大于 ’李丽’ 的所有学生的姓名、系和年龄。 SELECT S1.SNAME, S1.SDEPT, S1.SAGE FROM Student S1, Student S2 WHERE S1.SAGE S2.SAGE AND S2.SNAME = 李丽; 结果如图十四: (图十四) 16:(复合条件查询) 求选修了课程名为 ’数据结构’ 的学生的学号
文档评论(0)