SQL查询—— 简单查询实验报告书

  • 格式:doc
  • 大小:261.00 KB
  • 文档页数:6

下载文档原格式

  / 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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进行字符串匹配,此外还可以用各种聚合函数进行数据的汇总,在实验中加强了我对这些语句用法的记忆和掌握。

实验者: