实验5实验报告 下载本文

内容发布更新时间 : 2024/12/22 17:14:40星期一 下面是文章的全部内容请认真阅读。

学号:20164477 姓名:陈家凤

实验五

SQL语言

一、目的与要求

1. 掌握SQL语言的查询功能; 2. 掌握SQL语言的数据操作功能;

3. 掌握对象资源管理器建立查询、索引和视图的方法;

二、实验准备

1. 了解SQL语言的查改增删四大操作的语法; 2. 了解查询、索引和视图的概念; 3. 了解各类常用函数的含义。

三、实验内容

(一)SQL查询功能

使用提供的studentdb数据库文件,先附加到目录树中,再完成下列题目,SQL命令请保存到脚本文件中。 1.基本查询

(1) 查询所有姓王的学生的姓名、学号和性别

Select St_Name,St_Sex,St_ID From st_info

Where St_Name like'王%'

图5-1

(2) 查询全体学生的情况,查询结构按班级降序排列,同一班级再按学号升序,并将结果存入新表new中

select *into new from st_info

order by Cl_Name desc,st_ID asc

1 / 13

图5-2

(3) 对S_C_info表中选修了“体育”课的学生的平均成绩生成汇总行和明细行。(提示:用compute汇总计算)

因2014版本已不支持compute关键字,所以选择用其他方式。 Select c_no,score From s_c_info

Where c_no=29000011 group by c_no,score

图5-3

2.嵌套查询

(1) 查询其他班级中比“材料科学0601班”的学生年龄都大的学生姓名和年龄

select st_name,born_date from st_info

where cl_name!='材料科学0601班'and born_date<(select min(born_date) from st_info where cl_name='材料科学0601班')

2 / 13

图5-4

(2) 用exists查询选修了“9710041”课程的学生姓名 select st_name from st_info

where exists(select*from s_c_info where c_no=9710041 and st_id=st_info.st_id)

图5-5

(3) 用in查询找出没有选修“9710041”课程的学生的姓名和所在班级。 select st_name,cl_name from st_info

where st_id not in(select st_id from s_c_info where c_no='9710041')

3 / 13