- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验5 SQL语言查询的综合练习
石家庄经济学院
实 验 报 告
学 院: 信息工程学院
专 业: 计算机科学与技术
信息工程学院计算机实验中心制
学号 513109030101 姓名 张雪洁 实验日期 2014/4/30 实验室 260 指导教师 张有华 设备编号 JF260-20 实验内容 实验5 SQL语言查询的综合练习 一 实验题目
1.内外连接查询
2.嵌套查询
3.相关子查询
二 实验目的
1.掌握索引的建立与删除操作。
2.掌握视图的创建和查询操作,理解视图的作用。
3.掌握触发器的创建与使用,理解数据库安全性的定义。
三 实验内容
1.查询常量、命名列等(datediff函数的使用)
说明:命名列的方法:as 、 =
查询计算机学院的学生的学号、姓名、年龄。(要求命令列,并使用两种方法计算年龄)。
查询课程号为10001的课程的原始成绩和调整成绩,其中调整成绩=原始成绩+5分。
查询所有学生的学号、姓名和出生日期(要求出生日期只显示年份和月份)。
查询9月份出生的学生
查询所有的课程信息,在查询结果中增加关于学校的说明列“石家庄经济学院本部”。
2.Top练习
从C表中查询前5门课的信息。
从SC表中查询’10005’课程考试成绩较好的50%的成绩信息。
查找“高级语言程序设计”成绩最好的两个学生的信息。
查询女生人数最多的两个学院,查询结果显示:学院、女生人数。
3.通配符练习
查找名字为刘某某的学生信息,要求名字必须是3个字。(假设有刘明、刘兰花、刘芳等同学)
查找名字为刘某的学生信息,但是名字的第二个字不是“兰”
5.逻辑运算符(运算符的优先级为 NOT 、 AND 、OR,求值顺序自左向右,可以利用括号改变求值顺序)
(1) 查找不是外语学院和会计学院的,成绩不及格或成绩为空的学生信息。
6.Group by 练习
查询各学院男生和女生的人数。
查询各个学院男生和女生人数,只显示人数超过5人的统计信息。
查询各个学院男生、女生的人数及其总人数。(rollup或cube)
统计各门课各个学院选修的人数、各学院选课人数、总人数。
分别统计各学院男生、女生的平均年龄。
说明:Group By 和 Having, Where ,Order by语句的执行顺序
关键字是按照如下顺序进行执行的:Where, Group By, Having, Order by。首先where将最原始记录中不满足条件的记录删除(所以应该在where语句中尽量的将不符合条件的记录筛选掉,这样可以减少分组的次数),然后通过Group By关键字后面指定的分组条件将筛选得到的视图进行分组,接着系统根据Having关键字后面指定的筛选条件,将分组视图后不满足条件的记录筛选掉,然后按照Order By语句对视图进行排序,这样最终的结果就产生了。在这四个关键字中,只有在Order By语句中才可以使用最终视图的列名,如:
SELECT FruitName, Place, Price, ID AS IDE, Discount
FROM FRUITINFO
WHERE (Place =china)
ORDER BY IDE
这里只有在ORDER BY语句中才可以使用IDE,其他条件语句中如果需要引用列名则只能使用ID,而不能使用IDE。
7.聚合函数(sum,min,max,avg,count)的使用
执行顺序是,先通过where子句查询出满足条件的记录,然后使用聚合语句进行统计计算,最后用having对分组统计后的数据进行进一步的筛选。
显示选课人数少于5人的课程名字
显示计算机学院的学生选修人数最多的课程的名字
查询不及格人数最多的两门课的课程号、课程名字和不及格人数
假设课程10001的成绩中有空值和非空的数值,请对比以下两个查询的结果
Select avg(score)
From SC
Where cno=’10001’
和 Select avg(isnull(score,0))
From SC
Where cno=’10001’
请总结各聚合函数对空值的统计是怎样的?
8.外连接查询练习
注意多表(多于2个表)的内外连接查询时,表的顺序。
查询所有学生的选课情况。
查询所有课程的被选情况。
查询所有学生的选课情况和所有课程的被选情况。
10.嵌套查询与子查询
说明:
⑴ 至多可以嵌套32层,并且子查询中不允许使用order by.
⑵ 可以用子查询产生一个派生的表,用于代替 FROM 子句中的表
⑶ 在 Transact-SQL 中,所有使用表达式的地方,都可以使用子查询代替
例如:
子查询产生一个派生表
查询各门
文档评论(0)