2016年电大《数据库及其应用》实验报告2
《数据库及其应用》实验报告
实验序号:B0901000-34 实验项目名称:SQL查询、选择查询和动作查询
学 号
0906030155
姓 名
黄明均
专业、班
管科0901
实验地点
现教中心
指导教师
孙夫雄
时间
2010年4月
一、实验目的及要求
1.掌握Access表达式的基本概念。了解不同类型数据的常量、参数、运算与函数的使用。
2.理解查询对象的意义和建立方法。
3.掌握SQL语言中SELECT语句的主要应用。
4.掌握SQL的插入、更新、删除操作命令的基本应用。
5.了解SQL定义数据表的基本方法。
6.理解Access选择查询的意义和类别。
7.掌握一般选择查询的操作应用;理解并掌握交叉查询的应用;理解参数查询的意义。
8.理解Access动作查询包含的查询类别。
9.将动作查询与SQL命令进行对比,理解并掌握动作查询的操作应用。
二、实验设备(环境)及要求
PC机,Windows XP,Access 2003,学生管理数据库
三、实验内容要求
(一) SQL视图中表达式练习
1.进入SQL视图及在不同视图间切换
在Access中进入查询的设计视图并在查询的不同视图之间切换。
2.不同类型数据的表达式运算
在SQL视图中分别输入以下命令并运行,对于参数自己输入数据。查看并写出各表达式运算结果。
SELECT -5.12^2+(17 mod 3);
SELECT "Hello "+",World!",LEFT("清华大学出版社",2)+RIGHT("清华大学出版社",3);
SELECT "你毕业的年份是", VAL(LEFT([你的学号],4))+4;
SELECT "现在是"+STR(YEAR(DATE()))+"年","现在的时间是:"+CSTR(TIME());
SELECT "张三">"李四","ABCD"1000;
(二)SQL命令进行查询和操作
1.练习SQL查询的SELECT语句
启动教学管理数据库,在数据库窗口对象栏中单击“查询”,然后进入SQL视图。在“SQL视图”中输入以下SELECT命令,查看执行结果,并仔细体会查询的实现。
① 查询“学院”、“专业”、“学生”完整数据。
SELECT *
FROM ((学院 INNER JOIN 专业 ON 学院.学院号=专业.学院号)
INNER JOIN 学生 ON 专业.专业号=学生.专业号);
② 查询“工商管理”专业所有女生信息。
SELECT 专业,学生.*
FROM 专业 INNER JOIN 学生 ON 专业.专业号=学生.专业号
WHERE 专业.专业="工商管理" AND 学生.性别="女";
③ 查询平均成绩在80分以上的各位学生的学号、姓名和平均分。保存为查询对象,对象名“优秀学生”。
SELECT 学生.学号,姓名,AVG(成绩) AS 平均分
FROM 学生 INNER JOIN 成绩 ON 学生.学号=成绩.学号
GROUP BY 学生.学号,姓名
HAVING AVG(成绩)>=80 ;
单击工具栏保存按钮,弹出“另存为”对话框,输入“优秀学生”,单击“确定”按钮。
④ 查询没有学生数据的专业编号和专业。
SELECT 专业号,专业
FROM 专业
WHERE 专业号 NOT IN (SELECT 专业号 FROM 学生) ;
⑤ 查询“湖北”籍1988年以后出生的学生信息。
SELECT *
FROM 学生
WHERE 籍贯 LIKE "湖北*" AND 生日 >=#1988-1-1# ;
⑥ 查询选课人数最多的课程的课程号、课程名。
SELECT TOP 1 课程.课程号,课程名
FROM 课程 INNER JOIN 成绩 ON 课程.课程号=成绩.课程号
GROUP BY 课程.课程号,课程名
ORDER BY COUNT(*) DESC ;
2.练习SQL的插入、更新、删除操作命令
① 在课程表中插入一门新课,数据如命令所示。
INSERT INTO 课程
VALUES(,"会计学原理",3,"06");
② 将“法学院(04)”开设课程的学分增加1分。
UPDATE 课程
SET 学分=学分+1
WHERE 学院号="04"
③ 删除“信息学院(09)”开设的没有学生选修的课程。
DELETE FROM 课程
WHERE 学院号="09" AND 课程号 NOT IN (SELECT 课程号 FROM 成绩)
3.创建“教师”表,包括:工号、姓名、性别、生日、职称、基本工资、学院号。写出创建命令。
(三)选择查询操作
1.进入查