《数据库及其应用》实验报告2(2010版)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据库及其应用》实验报告

实验序号:B0901000-02 实验项目名称:SQL查询、选择查询和动作查询

(一) SQL视图中表达式练习

1.进入SQL视图及在不同视图间切换

在Access中进入查询的设计视图并在查询的不同视图之间切换。

单击创建→查询设计→右击空白处→SQL

切换回同理

2.不同类型数据的表达式运算

在SQL视图中分别输入以下命令并运行,对于参数自己输入数据。查看并写出各表达式运算结果。

SELECT -5.12^2+(17 mod 3);

SELECT "Hello "+",World!",LEFT("清华大学出版社",2)+RIGHT("清华大学出版社",3);

SELECT "你毕业的年份是", V AL(LEFT([你的学号],4))+4;

SELECT "现在是"+STR(YEAR(DATE()))+"年","现在的时间是:"+CSTR(TIME());

SELECT "张三">"李四","ABCD"<"abcd",(DATE()-#1992-10-8#)>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 学生.学号,姓名,A VG(成绩) AS 平均分

FROM 学生INNER JOIN 成绩ON 学生.学号=成绩.学号

GROUP BY 学生.学号,姓名

HA VING A VG(成绩)>=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 课程

V ALUES("06020101","会计学原理",3,"06");

②将“法学院(04)”开设课程的学分增加1分。

UPDA TE 课程

SET 学分=学分+1

WHERE 学院号="04"

③删除“信息学院(09)”开设的没有学生选修的课程。

DELETE FROM 课程

WHERE 学院号="09" AND 课程号NOT IN (SELECT 课程号FROM 成绩)

3.创建“教师”表,包括:工号、姓名、性别、生日、职称、基本工资、学院号。写出创建命令。

(三)选择查询操作

1.进入查询设计视图进行交互式选择查询设置

启动教学管理数据库。

①查询“专业”表,显示开设的所有专业涉及的学科门类。

将“专业”表加入设计视图。在QBE界面中“字段”栏选择“专业类别”字段显示。

在设计视图的空白处单击右键,从弹出的快捷菜单中选择“属性”命令,打开“属性”

对话框,选择“唯一值”属性值“是”。

②查询各专业学生的人数。

将专业表和学生表加入设计视图。在QBE界面中“字段”栏选中“专业号”和“专业”

字段显示,然后单击工具栏中的“总计”按钮,在QBE中增加“总计”栏。将“专业号”

和“专业”字段设置为“分组”,然后选择“学生”表的“学号”字段,设置其为“计数”,最后在学号前面加上“人数:”,作为查询后的列名。设计完成,运行查询。

③查询没有选课的男学生学号、姓名,即成绩表中没有记录的学生数据。

将“学生”表加入设计视图。选择“学号”、“姓名”字段显示,在第3列处输入“注:

‘尚未选课’”,选中“显示”复选框。然后在第4列中选择“学号”但不显示。在“条

件”栏中输入一个子查询“Not In (SELECT 学号FROM 成绩)”。

2.进行交叉表查询

将学生的“学号”和“姓名”作为行标题,“课程名”作为列标题,成绩作为交叉数据,生成交叉表。

3.进行参数查询

通过参数查询指定日期以后出生的某个民族的学生信息。

启动选择查询设计窗口,将“学生”表加入设计窗口,在QBE窗口中选择“*”表示输出学生表所有字段。然后选中“生日”字段,去掉“显示”行的复选框,在条件行输入>[SR];按同样方式设置“民族”字段。

然后选择“查询”→“参数”命令,弹出“查询参数”对话框,分别设置SR和MZ的类型,单击“确定”按钮,设置完毕。

(四)动作查询操作

1.生成表查询操作练习

将“查询平均成绩在80分以上的各位学生的学号、姓名和平均分”的结果生成新表,表名“优秀学生名单”。

输入SQL命令后,选择“查询”→“生成表”查询,弹出“生成表”对话框,输入表的名称,然后单击“确定”按钮。运行查询。

相关文档
最新文档