数据库上机实验

2020-06-08 11:01

学号 12051134 姓名 张宏源 班级 物联网1班

上机实验四——SELECT语句基本格式的使用

一、实习目的:

掌握SELECT的基本使用格式,能使用SQL Server对表作简单查询。

二、实习准备:

1. 复习第三章3.4节中SELECT语句的基本使用格式。

2. 复习SQL中五种库函数:AVG、SUM、MAX、MIN、COUNT; 3. 完成习题三第12题中的各项操作的SQL语句。

三、实习内容:

1. 验证习题三第12题中的各项操作的SQL语句。

①?? 找出所有被学生选修了的课程号;

Select Distinct Cno From Grade Order by Cno

② 找出01311班女学生的个人信息;

Select * From Student

where Ssex='女' and Clno=01311

③ 找出01311班、01312班的学生姓名、性别、出生年份;

Select Sname,Ssex,2014-Sage as birthyear From Student

where Clno='01311'or Clno='01312'

④ 找出所有姓李的学生的个人信息;

Select * From Student

where Sname like '李%'

⑤ 找出学生李勇所在班级的学生人数;

Select number FROM Class where clno=

(select Clno from Student

where Sname='李勇' )

⑥ 找出课程名为操作系统的平均成绩、最高分、最低分;

Select AVG(Gmark),MAX(Gmark),MIN(Gmark) FROM Grade where Cno=

(Select Cno from Course

where Cname='操作系统' )

⑦ 找出选修了课程的学生人数;

Select COUNT(Sno) as renshu FROM Grade

⑧ 找出选修了课程操作系统的学生人数。

Select COUNT(Sno) as renshu FROM Grade where Cno=

(Select Cno from Course

where Cname='操作系统' )

2. 试一下以下语句是否正确:

SELECT eno,basepay,service

FROM salary

WHERE basepay

答:不对,聚合函数不应该出现在where语句中,除非该聚合位于HAVING 子句或选择列表所包含的子查询中,并且要对其进行聚合的列是外部引用

四、上机实验收获(感想):

更加熟悉了SQL基础语言的运用,实际操作后弥补了理论想象的不足

五、思考题:

什么情况下需要使用关系的别名?别名的作用范围是什么?

1. 简化书写 2. 子查询

3. 为了把先后查询的同一关系区分开来

学号 姓名 班级 上机时间

上机实验五——SELECT语句高级格式和完整格式的使用

一、实习目的:

掌握SELECT语句的嵌套使用方法,能使用SQL Server2000对表作复杂查询。

二、实习准备:

1. 复习第三章3.4节中SELECT语句的高级格式和完整格式的使用。 2. 了解库函数在分组查询中的使用规则;

3. 完成习题三第13、14题中的各项操作的SQL语句。

三、实习内容:

完成以下各项操作的SQL语句:

① 找出与李勇在同一个班级的学生信息;

Select * FROM Student where Clno=

(Select Clno from student where Sname='李勇' )

② 找出选修了课程操作系统的学生学号和姓名;

Select Sno,Sname from student where sno in

(

Select distinct Sno from Grade where Cno =

(Select Cno from Course

where Cname='操作系统' ) )

③ 找出年龄介于学生李勇和25岁之间的学生信息;(已知李勇年龄小于25岁)

Select * from student where Sage in

(Select Sage from Student )

and Sage<25

④ 找出所有没有选修1号课程的学生姓名

Select distinct s.sname

from Student s LEFT JOIN Grade g on s.sno=g.sno

where CNO != 1

⑤ 查询选修了3号课程的学生学号及其成绩,并按成绩的降序排列;

Select Sno,Gmark from grade where Cno=3

Order by Gmark DESC

⑥ 求每个课程号及相应的选课人数;

Select Cno,count(cno) as 人数 from grade group by cno order by cno

⑦查询选修了3门以上课程的学生学号。

Select sno from Grade group by sno

having COUNT(sno)>3

四、上机实验收获(感想): 五、思考题:

1. 用UNION或UNION ALL将两个SELECT命令结合为一个时,结果有何不同?。

UNION 命令只会选取不同的值,UNION ALL 命令和 UNION 命令几乎是等效的,不过 UNION ALL 命令会列出所有的值

2. 当既能用连接词查询又能用嵌套查询时,应该选择哪种查询较好?为什么?

选用连接词查询。 因为连接词查询,效率比嵌套查询高

3. 库函数能否直接使用在:SELECT选取目标、HAVING子句、WHERE子句、GROUP BY

列名中?

库函数可以使用在SELECT选取目标、HAVING字句、WHERE子句,不能使用在GROUP BY列名


数据库上机实验.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公文写作及其处理练习

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: