实验五、六部分参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五
3. 在项目中设计如下查询,单号题用select命令(写到程序中),双号题用查询设计器:
注意:查询前先打开“学生-课程”数据库,并且设为当前库
(1)创建程序文件Q1,用select命令查询“计算机”系的学生的学号、姓名、和出生日期,结果按学号升序排。运行程序查看运行结果。
使用设计器设计:
添加表:学生表
“字段”选项卡:学号、姓名、出生日期
“筛选”选项卡:所在系=’计算机’
“排序”选项卡:学号升序
使用命令:
SELECT 学号,姓名,出生日期;
FROM学生;
WHERE所在系= "计算机";
ORDER BY学号
查询结果如下:
(2)创建查询文件Q2,查询“计算机”系的学生的姓名、性别、年龄,结果按年龄升序排。运行查询文件查看运行结果。
使用设计器设计:
添加表:学生表
“字段”选项卡:姓名、性别、YEAR(DATE())-YEAR(学生.出生日期) AS 年龄
“筛选”选项卡:所在系=’计算机’
“排序依据”选项卡:YEAR(DATE())-YEAR(学生.出生日期) AS 年龄
使用命令:
SELECT姓名,性别, YEAR(DATE())-YEAR(学生.出生日期) AS 年龄;
FROM学生;
ORDER BY 3
查询结果如下:
(3)创建程序文件Q3,用select命令查询都有哪些系,要求系不能重复。运行程序查看运行结果。
使用设计器设计:
添加表:学生表
“字段”选项卡:所在系
“杂项”选项卡:选中“无重复记录”复选框
使用命令:
SELECT DISTINCT 所在系FROM学生
查询结果如下:
(4)创建查询文件Q4,查询选了“001”号课的学生的姓名和成绩,结果按成绩降序排,结果放到表“成绩001号课”表中。运行查询文件,将存放查询结果的文件添加到项目的自由表中,浏览该自由表从而查看查询结果。
使用设计器设计:
添加表:学生表、选课表
“字段”选项卡:姓名、成绩
“联接”选项卡:inner join 学生.学号=选课.学号
“筛选”选项卡:课程号=’001’
“排序依据”选项卡:成绩降序
“查询去向”:表“成绩001号课”
使用命令:
SELECT姓名,成绩;
FROM学生INNER JOIN选课ON 学生.学号= 选课.学号;
WHERE课程号= "001";
ORDER BY成绩DESC
INTO TABLE 成绩001号课
查询结果如下:
(5)创建程序文件Q5,用select命令查询“计算机”系学生选了“001”号课学生的姓名、成绩,结果按成绩降序排。运行程序查看运行结果。
使用设计器设计:
添加表:学生表、选课表
“字段”选项卡:姓名、成绩
“联接”选项卡:inner join 学生.学号=选课.学号
“筛选”选项卡:所在系=’计算机’ and课程号=’001’
“排序依据”选项卡:成绩降序
使用命令:
SELECT姓名,成绩;
FROM 学生INNER JOIN选课ON 学生.学号= 选课.学号;
WHERE所在系= "计算机" AND课程号= "001";
ORDER BY成绩DESC
查询结果如下:
(6)创建查询文件Q6,查询成绩在80及80分以上的学生的姓名、课程名和成绩,输出时先按课程名升序排,课程名一样的再按成绩降序排。运行查询文件查看运行结果。
使用设计器设计:
添加表:学生表、选课表、课程表
“字段”选项卡:姓名、课程名、成绩
“联接”选项卡:inner join 学生.学号=选课.学号
inner join 课程.课程号=选课.课程号
“筛选”选项卡:成绩>=80
“排序依据”选项卡:课程名升序、成绩降序
使用命令:
SELECT姓名,课程名,成绩;
FROM学生INNER JOIN选课INNER JOIN课程;
ON 课程.课程号=选课.课程号ON 学生.学号=选课.学号;
WHERE成绩>= 80;
ORDER BY课程名,成绩DESC
查询结果如下:
(7)创建程序文件Q7,用select命令查询平均成绩大于等于80的学生的学号、姓名平均成绩。运行程序查看运行结果。
使用设计器设计:
添加表:学生表、选课表
“字段”选项卡:学号、姓名、AVG(选课.成绩) AS 平均成绩
“联接”选项卡:inner join 学生.学号=选课.学号
“分组依据”选项卡:学号
“满足条件”(筛选组):平均成绩>=80
“排序依据”选项卡:学号升序
使用命令:
SELECT 学生.学号, 姓名, AVG(选课.成绩) AS 平均成绩;
FROM 学生INNER JOIN选课ON 学生.学号= 选课.学号;
GROUP BY 学生.学号;
HAVING 平均成绩=>80
查询结果如下:
(8)创建查询文件Q8,查询各科成绩的最高分。结果包括课程名和最高分两列。运行查询文件查看运行结果。
使用设计器设计:
添加表:课程表、选课表
“字段”选项卡:课程名、MAX(选课.成绩) AS 最高分
“联接”选项卡:inner join 课程.课程号=选课.课程号
“分组依据”选项卡:课程名
使用命令:
SELECT课程名, MAX(选课.成绩) AS 最高分;
FROM课程INNER JOIN选课ON课程.课程号= 选课.课程号;
GROUP BY 课程.课程名
查询结果如下:
(9)创建程序文件Q9,用select命令查询选课人数多于10人的课程名和选课人数。运行程序查看运行结果。
使用设计器设计:
添加表:课程表、选课表