SQL查询—— 简单查询实验报告书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验题目:SQL查询——简单查询
【实验目的与要求】
一、实验目的
1. 熟练掌握单表查询的SELECT语法结构;
2. 通过观察查询结果, 体会SELECT语句的实际应用。
二、实验要求
1.实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成实验
内容的预习准备工作。
2.能认真独立完成实验内容。
3.实验后做好实验总结,根据实验情况完成实验报告。
【实验环境】
PC机、Windows XP系统+SQL Server 2005
【实验内容】
基于实验一建立的EDUC 数据库,用Transact-SQL 语句实现如下查询:
1.选修了课程的学生学号;
2.计算机系的学生;
3.计算机系学生的学号和姓名;
4.计算机系和信息系的男生信息;(提示:逻辑运算符的优先级顺序)
5.选修上课编号为1且成绩在80-90 之间的学生学号和成绩,并将成绩乘以系数0.75 输出;
(提示:新输出项要命名列标题)
6.没有成绩的学生的学号和上课编号;
7.选修上课编号为1或4的学生的学号和成绩,并要求对查询结果按成绩的降序
排列,如果成绩相同则按学号的升序排列;(提示:查询输出哪几项)
8.1995年1月1日(含)以后出生的学生信息,并按姓氏拼音字母顺序从前往后排列(注:
默认排序规则通常是Chinese_PRC_CI_AS,汉字按照汉语拼音的字典顺序来排序:首先按拼音,拼音相同按声调,声调相同按笔画数。)
9.姓李和刘的学生的信息;
10.不姓张王李刘的学生的学号、姓名和性别;
11.选修课程的学生人数;
12.选修上课编号为1的学生的最高分;
13.每位学生所修课程的平均分;
14.选修两门以上课程的学生;
15.总成绩大于200 分的学生的学号和总成绩。(提示:group by分组统计)【实验方法和步骤】
1.新建查询,在查询编辑器中依次按照如上实验内容编写SELECT语句完成查询。
2.每执行一条查询语句,在查询结果网格中查看执行结果是否正确。
【实验结果】
SELECT DISTINCT Sno FROM Student_course
SELECT*FROM Student WHERE Dno ='计算机'
SELECT Sno,Sname FROM Student WHERE Dno ='计算机'
SELECT*FROM Student
WHERE Sex ='男'AND Dno IN('计算机','信息')
SELECT Sno,0.75*Score AS成绩FROM Student_course WHERE Tcid =1 AND Score BETWEEN 80 AND 90
SELECT Sno,Score FROM Student WHERE(Tcid=1 OR Tcid=4)ORDER BY Score DESC,Sno
SELECT*FROM Student WHERE birthday>='1995-1-1'ORDER BY sname ASC
SELECT*FROM Student WHERE sname like'[李刘]%'
SELECT sno,sname,sex FROM Student WHERE sname like'[^张王李刘]%'
SELECT COUNT(DISTINCT sno)AS选课人数FROM Student_course
SELECT MAX(Score)AS最高分FROM Student_course WHERE Tcid=1
SELECT Sno,AVG(Score)AS平均分FROM Student_course GROUP BY Sno
SELECT Sno,COUNT(DISTINCT Tcid)AS选课门数FROM Student_course GROUP BY Sno HAVING COUNT(Tcid)>2
SELECT Sno,SUM(score)AS总成绩FROM Student_course GROUP BY Sno HAVING SUM(score)>=200 ORDER BY总成绩DESC
【实验体会】
利用SELECT语句可以实现对已有表中数据的查询的。通过实验让我对SELECT语句的应用有了更深的理解,当输出表中的几列数据时只需要将输出地列列出即可,如需要将表中的数据按列的显示顺序依次输出则可以简单地在<目标列名序列>中写“*”,DISTINCT关键字可以去掉查询结果中重复行。DISTINCT关键字放在SELECT词的后面、目标列名序列的前边。用WHERE语句查询满足条件的元组,ORDER
BY语句进行排序,GROUP BY语句进行分组,用BETWEEN下限值 AND 上限值确定范围,用IN确定某一属性是否在某一集和范围,用 LIKE进行字符串匹配,此外还可以用各种聚合函数进行数据的汇总,在实验中加强了我对这些语句用法的记忆和掌握。
实验者: