实验五 数据库中数据的查询
一.实验目的
1. 对实验一、实验二已建好的student 、course 、sc 表进行查询操作。
2. 本实验可充分体会SQL语言的结构化查询功能,让学生充分体会SQL语言的灵活多变,
功能强大。 二.实验设备
1.安装能进行SQL操作的微机。 三.实验内容及说明
在实验一和实验二的基础上,进行数据库的查询,充分体会SQL语言的强大功能。 四.实验步骤 1. 简单查询:
(1) 查询全体学生的学号和姓名。 (2) 查询全体学生的详细记录。
(3) 查询全体学生的姓名和出生年份。 (4) 查询选修了课程的学生的学号。 (5) 查询计算机系的学生的姓名。
2.查询年龄在20岁以下的计算机系的学生的学号和年龄。 (6) 查询年龄在20—22岁的学生的学号。
(7) 查询信息系、计算机系和外语系的学生的信息。 (8) 查询姓“王”的学生的信息。
(9) 查询选修了3号课程的学生的学号及成绩,结果按分数的降序排列。 (10) 查询学生总人数。 (11) 查询选修1号课程的学生的最高分。 (12) 查询选修了3门以上课程的学生的学号。
select sname,sno from student
select * from student
select sname 姓名,2010-sage 年龄
from student
select cno from sc
where student.sno=sc.sno
select sage,sno from student where sdept='ma' and sage<20
select * from student where sname='zhangli'
select sc.sno,grade from student,sc where student.sno=sc.sno and sc.cno=’3’ order by grade
select COUNT(sno) from student select* from student
where student.sname like '王%' select MAX(grade) from sc
2. 连接查询
(1) 查询每个学生及其选修课程的情况。
(2) 查询选修2号课程且分数在90分以上的所有学生。 (3) 查询每个学生的学号、姓名、选课名及成绩。
select student.sno,student.sname,student.ssex,sage,sdept,sc.grade,sc.cno from student,sc
where student.sno=sc.sno
select student.sname,student.sno from student,sc
where sc.cno='2'and grade>90
select student.sno, student.sname,course.cname,sc.grade from student,sc,course
where student.sno=sc.sno and course.cno=sc.cno
3. 嵌套查询、
(1) 查询与“张三”在同一系的学生。
(2) 查询选修了课程名为“数据库”的学生学号和姓名。
select * from student where sdept=( select sdept from student
where sname='张三')
select sno,sname from student where student.sno=( select sc.sno from sc
where sc.cno=(
select course.cno from course where cname='database') )
4. EXISTS查询
(1) 查询没有选修1号课程的学生的姓名。 (2) 查询选修了所有课程的学生的姓名。
select sname from student
where not exists(select * from sc where sno=student.sno and cno='1')
select sname from student where not exists (select * from course where not exists (select * from sc where sno=student.sno and cno=course.cno ) )
五.思考题
1.SELECT语句的一般格式是什么? 2.体会SELECT语句的强大功能。
Select [all|distinct]
From<表名或视图名>
[where<条件表达式>]
[group by <列名>]
[order by<列名>]
实验六 SQL语言的DDL
一、实验目的
SQL(Structured Query Language)语言是关系数据库的标准语言。是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询,SQL语言是一个通用的、功能极强的关系数据库语言。
从本次实验开始,我们将详细的学习SQL的DDL(数据定义语言)、DML(数据操纵语言)、DCL(数据控制语言)。
本次实验了解DDL语言的CREATE、DROP、ALTER对表、索引、视图的操作,学会SQL Server 2000的查询分析器中用DDL语言进行对表、索引、视图的增加、删除和改动。 二、实验内容
1. 启动数据库服务软件SQL Server 2000的查询分析器,用如下语句对表进行操作,详细的语法格式参看课本相应章节: Create Table 建表 Drop Table 删除表 Alter Table 更改表
2.用如下语句对视图进行操作,详细的语法格式参看课本相应章节: Create View 建视图 Drop View 删除视图
3.如下语句对索引进行操作,详细的语法格式参看课本相应章节: Create Index 建立索引 Drop Index 删除索引 三、实验任务
1.打开数据库SQL Server 2000的查询分析器,用Create Table建表aa,表结构如下所示: 字段名 类型 长度 含义 Aa1 Aa2 Aa3 Varchar Int Dec 20 10,2 字段1 字段2 字段3 2.用Create Table建表bb,表结构如下所示: 字段名 Bb1 类型 Varchar 长度 30 含义 字段1
相关推荐: