ACCESS的sql单表查询实验答案
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
张丰毅
男
1989
CS
200515022
牛站强
男
1989
200515010
李晨
女
1989
MA
200515020
马翔
男
1990
200515016
刘社
男
1990
CM
200515015
李蕾
女
1990
EN
200515002
李勇
男
1991
CS
200515005
张向东
男
1991
IS
200515006
张向丽
女
1991
查询1
Sno
Sname
Ssex
Sage
Sdept
200515001
赵菁菁
女
23
CS
200515002
李勇
男
20
CS
200515003
张力
男
19
CS
200515004
张衡
男
18
IS
200515005
张向东
男
20
IS
200515006
张向丽
女
20
IS
200515007
王芳
女
20
CS
200515008
王民生
查询命令:
SELECT DISTINCT sdept,iif(COUNT(*)>=5,'规模很大',iif(COUNT(*)>=4 and COUNT(*)<5,'规模一般', iif(COUNT(*)>=2 and COUNT(*)<4,'规模稍小','规模很小'))) as院系规模,COUNT(*) as人数
杨磊
20
EN
女生
200515013
李晨
19
MA
男生
200515014
张丰毅
22
CS
女生
200515015
李蕾
21
EN
男生
200515016
刘社
21
CM
男生
200515017
刘星耀
18
CM
男生
200515018
李贵
19
EN
男生
200515019
林自许
20
WM
男生
200515020
马翔
21
男生
200515021
王小民
女
1993
MA
200515017
刘星耀
男
1993
CM
200515023
李婷婷
女
1993
200515004
张衡
男
1993
IS
12,按照院系降序显示所有学生的“院系,学号、姓名、性别、年龄”等信息,其中院系按照以下规定显示:院系为CS显示为计算机系,院系为IS显示为信息系,院系为MA显示为数学系,院系为EN显示为外语系,院系为CM显示为中医系,院系为WM显示为西医系,其他显示为院系不明;
男
20
WM
200515020
200515020
男
21
200515021
200515021
男
25
CS
200515022
200515022
男
22
200515023
200515023
女
18
200515024
200515024
女
20
200515025
200515025
女
30
WM
7.列出选修了‘1’课程的学生,按成绩的降序排列;
查询命令:
SELECT sno
FROM course,sc
WHERE o=o and o=1 and EXISTS
(SELECT *
FROM course
WHERE cno=2)
查询结果:
查询1
sno
200515001
200515002
200515003
张力
19
CS
男生
200515004
张衡
18
IS
男生
200515005
张向东
20
IS
女生
200515006
张向丽
20
IS
女生
200515007
王芳
20
CS
男生
200515008
王民生
25
MA
女生
200515009
王小民
18
MA
女生
200515010
李晨
22
MA
男生
200515011
张毅
20
WM
女生
200515012
CM
200515018
李贵
男
19
EN
200515019
林自许
男
20
WM
200515020
马翔
男
21
200515021
刘峰
男
25
CS
200515022
牛站强
男
22
200515023
李婷婷
女
18
200515024
严丽
女
20
4.按照“性别、学号、姓名、年龄、院系”的顺序列出学生信息,其中性别按以下规定显示:性别为男显示为男生,性别为女显示为女生,其他显示为“条件不明”;
查询命令:
SELECT ssex+'生' as性别,sno as学号,sname as姓名,sage as年龄,sdept as院系
FROM student;
查询结果:
查询1
查询1
查询1
查询1
查询1
性别
学号
姓名
年龄
院系
女生
200515001
赵菁菁
23
CS
男生
200515002
李勇
20
CS
男生
200515003
查询结果:
查询2
查询2
sname
sage
朱小鸥
30
刘峰
25
王民生
25
赵菁菁
23
牛站强
22
张丰毅
22
李晨
22
马翔
21
刘社
21
李蕾
21
11,按照出生年份升序显示所有学生的学号、姓名、性别、出生年份及院系,在结果集中列标题分别指定为“学号,姓名,性别,出生年份,院系”;
查询命令:
SELECT sno as学号,sname as姓名,ssex as性别,(sysdate-sage) as出生年份,sdept as院系
FROM student
ORDER BY (SYSDATE-sage) ASC
查询结果:
查询2
查询2
查询2
查询2
查询2
学号
姓名
性别
出生年份
院系
200515025
朱小鸥
女
1981
WM
200515021
刘峰
男
1986
CS
200515008
王民生
男
1986
MA
200515001
赵菁菁
女
1988
CS
200515014
1列出所有不姓刘的所有学生;
查询命令:SELECT sname
FROM student
WHERE sname NOT LIKE '刘*';
查询结果:
查询1
sname
赵菁菁
李勇
张力
张衡
张向东
张向丽
王芳
王民生
王小民
李晨
张毅
杨磊
李晨
张丰毅
李蕾
李贵
林自许
马翔
牛站强
李婷婷
严丽
朱小鸥
2列出姓“沈”且全名为3个汉字的学生;
张毅
男
20
西医系
200515025
朱小鸥
女
30
数学系
200515013
李晨
女
19
数学系
200515008
王民生
男
25
数学系
200515009
王小民
女
18
数学系
200515010
李晨
女
22
信息系
200515004
张衡
男
18
信息系
200515005
张向东
男
20
信息系
200515006
张向丽
女
20
外语系
200515012
sno as '学号',sname as '姓名',ssex as '性别',sage as '年龄' from student
ORDER BY sdept DESC;
查询结果:
查询3
查询3
查询3
查询3
查询3
'院系'
'学号'
'姓名'
'性别'
'年龄'
西医系
200515019
林自许
男
20
西医系
200515011
200515002
男
20
CS
200515003
200515003
男
19
CS
200515004
200515004
男
18
IS
200515009
200515009
女
18
MA
200515010
200515010
女
22
MA
200515011
200515011
男
20
WM
200515012
200515012
女
20
FROM student
WHERE sdept IS NOT NULL
GROUP BY sdept;
查询结果(给出人数是为了方便检查)
查询3
查询3
查询3
sdept
院系规模
人数
CM
规模稍小
2
CS
规模很大
6
EN
规模稍小
3
IS
规模稍小
3
MA
规模一般
4
WM
规模稍小
3
14.按照课程号、成绩降序显示课程成绩在70-80之间的学生的学号、课程号及成绩;
200515016
刘社
男
21
中医系
200515017
刘星耀
男
18
院系不明
200515020
马翔
男
21
院系不明
200515022
牛站强
男
22
院系不明
200515023
李婷婷
女
18
院系不明
200515024
严丽
女
20
13,显示所有院系(要求不能重复,不包括空值),并在结果集中增加一列字段“院系规模”,其中若该院系人数>=5则该字段值为“规模很大”,若该院系人数大于等于4小于5则该字段值为“规模一般”,若该院系人数大于等于2小于4则该字段值为“规模稍小”,否则显示“规模很小”;
杨磊
女
20
外语系
200515015
李蕾
女
21
外语系
200515018
李贵
男
19
计算机系
200515001
赵菁菁
女
23
计算机系
200515021
刘峰
男
25
计算机系
200515007
王芳
女
20
计算机系
200515003
张力
男
19
计算机系
200515002
李勇
男
20
计算机系
200515014
张丰毅
男
22
中医系
刘峰
25
CS
男生
200515022
牛站强
22
女生
200515023
李婷婷
18
女生
200515024
严丽
20
女生
200515025
朱小鸥
30
WM
5.查询出课程名含有“数据”字串的所有课程基本信息;
查询命令:
SELECT *
FROM COURSE
WHERE cname like '数据*';
查询结果:
查询1
查询命令: SELECT sname
FROM student
WHERE sname LIKE '沈??';
查询结果:空
3.显示在1985年以后出生的学生的基本信息;
查询命令:SELECT *
FROM student
WHERE (sysdate-sage)>1985;
查询结果:
查询1
查询1
查询1
查询1
查询命令:
SELECT sname,grade
FROM sc,student
WHERE cno=1 and sc.sno=student.sno
ORDER BY grade DESC
查询结果:
查询1
查询1
sname
grade
张力
86
李勇
85
张向丽
84
赵菁菁
75
张衡
74
张向东
58
8.列出同时选修“1”号课程和“2”号课程的所有学生的学号;
2
2
数学
2
3信息Βιβλιοθήκη 统141数据库
5
4
7
PASCAL语言
6
4
4
操作系统
6
3
5
数据结构
7
4
10列出年龄超过平均值的所有学生名单,按年龄的降序显示;
查询命令:]
SELECT sname,sage
FROM student
WHERE sage>(SELECT AVG(sage) FROM student)
ORDER BY sage desc
查询命令:
SELECT iif(sdept='cs','计算机系',iif(sdept='EN','外语系',iif(sdept='IS','信息系',iif(sdept='CM','中医系',iif(sdept='MA','数学系',iif(sdept='WM','西医系','院系不明'))))))as '院系',
男
25
MA
200515009
王小民
女
18
MA
男
1989
CS
200515022
牛站强
男
1989
200515010
李晨
女
1989
MA
200515020
马翔
男
1990
200515016
刘社
男
1990
CM
200515015
李蕾
女
1990
EN
200515002
李勇
男
1991
CS
200515005
张向东
男
1991
IS
200515006
张向丽
女
1991
查询1
Sno
Sname
Ssex
Sage
Sdept
200515001
赵菁菁
女
23
CS
200515002
李勇
男
20
CS
200515003
张力
男
19
CS
200515004
张衡
男
18
IS
200515005
张向东
男
20
IS
200515006
张向丽
女
20
IS
200515007
王芳
女
20
CS
200515008
王民生
查询命令:
SELECT DISTINCT sdept,iif(COUNT(*)>=5,'规模很大',iif(COUNT(*)>=4 and COUNT(*)<5,'规模一般', iif(COUNT(*)>=2 and COUNT(*)<4,'规模稍小','规模很小'))) as院系规模,COUNT(*) as人数
杨磊
20
EN
女生
200515013
李晨
19
MA
男生
200515014
张丰毅
22
CS
女生
200515015
李蕾
21
EN
男生
200515016
刘社
21
CM
男生
200515017
刘星耀
18
CM
男生
200515018
李贵
19
EN
男生
200515019
林自许
20
WM
男生
200515020
马翔
21
男生
200515021
王小民
女
1993
MA
200515017
刘星耀
男
1993
CM
200515023
李婷婷
女
1993
200515004
张衡
男
1993
IS
12,按照院系降序显示所有学生的“院系,学号、姓名、性别、年龄”等信息,其中院系按照以下规定显示:院系为CS显示为计算机系,院系为IS显示为信息系,院系为MA显示为数学系,院系为EN显示为外语系,院系为CM显示为中医系,院系为WM显示为西医系,其他显示为院系不明;
男
20
WM
200515020
200515020
男
21
200515021
200515021
男
25
CS
200515022
200515022
男
22
200515023
200515023
女
18
200515024
200515024
女
20
200515025
200515025
女
30
WM
7.列出选修了‘1’课程的学生,按成绩的降序排列;
查询命令:
SELECT sno
FROM course,sc
WHERE o=o and o=1 and EXISTS
(SELECT *
FROM course
WHERE cno=2)
查询结果:
查询1
sno
200515001
200515002
200515003
张力
19
CS
男生
200515004
张衡
18
IS
男生
200515005
张向东
20
IS
女生
200515006
张向丽
20
IS
女生
200515007
王芳
20
CS
男生
200515008
王民生
25
MA
女生
200515009
王小民
18
MA
女生
200515010
李晨
22
MA
男生
200515011
张毅
20
WM
女生
200515012
CM
200515018
李贵
男
19
EN
200515019
林自许
男
20
WM
200515020
马翔
男
21
200515021
刘峰
男
25
CS
200515022
牛站强
男
22
200515023
李婷婷
女
18
200515024
严丽
女
20
4.按照“性别、学号、姓名、年龄、院系”的顺序列出学生信息,其中性别按以下规定显示:性别为男显示为男生,性别为女显示为女生,其他显示为“条件不明”;
查询命令:
SELECT ssex+'生' as性别,sno as学号,sname as姓名,sage as年龄,sdept as院系
FROM student;
查询结果:
查询1
查询1
查询1
查询1
查询1
性别
学号
姓名
年龄
院系
女生
200515001
赵菁菁
23
CS
男生
200515002
李勇
20
CS
男生
200515003
查询结果:
查询2
查询2
sname
sage
朱小鸥
30
刘峰
25
王民生
25
赵菁菁
23
牛站强
22
张丰毅
22
李晨
22
马翔
21
刘社
21
李蕾
21
11,按照出生年份升序显示所有学生的学号、姓名、性别、出生年份及院系,在结果集中列标题分别指定为“学号,姓名,性别,出生年份,院系”;
查询命令:
SELECT sno as学号,sname as姓名,ssex as性别,(sysdate-sage) as出生年份,sdept as院系
FROM student
ORDER BY (SYSDATE-sage) ASC
查询结果:
查询2
查询2
查询2
查询2
查询2
学号
姓名
性别
出生年份
院系
200515025
朱小鸥
女
1981
WM
200515021
刘峰
男
1986
CS
200515008
王民生
男
1986
MA
200515001
赵菁菁
女
1988
CS
200515014
1列出所有不姓刘的所有学生;
查询命令:SELECT sname
FROM student
WHERE sname NOT LIKE '刘*';
查询结果:
查询1
sname
赵菁菁
李勇
张力
张衡
张向东
张向丽
王芳
王民生
王小民
李晨
张毅
杨磊
李晨
张丰毅
李蕾
李贵
林自许
马翔
牛站强
李婷婷
严丽
朱小鸥
2列出姓“沈”且全名为3个汉字的学生;
张毅
男
20
西医系
200515025
朱小鸥
女
30
数学系
200515013
李晨
女
19
数学系
200515008
王民生
男
25
数学系
200515009
王小民
女
18
数学系
200515010
李晨
女
22
信息系
200515004
张衡
男
18
信息系
200515005
张向东
男
20
信息系
200515006
张向丽
女
20
外语系
200515012
sno as '学号',sname as '姓名',ssex as '性别',sage as '年龄' from student
ORDER BY sdept DESC;
查询结果:
查询3
查询3
查询3
查询3
查询3
'院系'
'学号'
'姓名'
'性别'
'年龄'
西医系
200515019
林自许
男
20
西医系
200515011
200515002
男
20
CS
200515003
200515003
男
19
CS
200515004
200515004
男
18
IS
200515009
200515009
女
18
MA
200515010
200515010
女
22
MA
200515011
200515011
男
20
WM
200515012
200515012
女
20
FROM student
WHERE sdept IS NOT NULL
GROUP BY sdept;
查询结果(给出人数是为了方便检查)
查询3
查询3
查询3
sdept
院系规模
人数
CM
规模稍小
2
CS
规模很大
6
EN
规模稍小
3
IS
规模稍小
3
MA
规模一般
4
WM
规模稍小
3
14.按照课程号、成绩降序显示课程成绩在70-80之间的学生的学号、课程号及成绩;
200515016
刘社
男
21
中医系
200515017
刘星耀
男
18
院系不明
200515020
马翔
男
21
院系不明
200515022
牛站强
男
22
院系不明
200515023
李婷婷
女
18
院系不明
200515024
严丽
女
20
13,显示所有院系(要求不能重复,不包括空值),并在结果集中增加一列字段“院系规模”,其中若该院系人数>=5则该字段值为“规模很大”,若该院系人数大于等于4小于5则该字段值为“规模一般”,若该院系人数大于等于2小于4则该字段值为“规模稍小”,否则显示“规模很小”;
杨磊
女
20
外语系
200515015
李蕾
女
21
外语系
200515018
李贵
男
19
计算机系
200515001
赵菁菁
女
23
计算机系
200515021
刘峰
男
25
计算机系
200515007
王芳
女
20
计算机系
200515003
张力
男
19
计算机系
200515002
李勇
男
20
计算机系
200515014
张丰毅
男
22
中医系
刘峰
25
CS
男生
200515022
牛站强
22
女生
200515023
李婷婷
18
女生
200515024
严丽
20
女生
200515025
朱小鸥
30
WM
5.查询出课程名含有“数据”字串的所有课程基本信息;
查询命令:
SELECT *
FROM COURSE
WHERE cname like '数据*';
查询结果:
查询1
查询命令: SELECT sname
FROM student
WHERE sname LIKE '沈??';
查询结果:空
3.显示在1985年以后出生的学生的基本信息;
查询命令:SELECT *
FROM student
WHERE (sysdate-sage)>1985;
查询结果:
查询1
查询1
查询1
查询1
查询命令:
SELECT sname,grade
FROM sc,student
WHERE cno=1 and sc.sno=student.sno
ORDER BY grade DESC
查询结果:
查询1
查询1
sname
grade
张力
86
李勇
85
张向丽
84
赵菁菁
75
张衡
74
张向东
58
8.列出同时选修“1”号课程和“2”号课程的所有学生的学号;
2
2
数学
2
3信息Βιβλιοθήκη 统141数据库
5
4
7
PASCAL语言
6
4
4
操作系统
6
3
5
数据结构
7
4
10列出年龄超过平均值的所有学生名单,按年龄的降序显示;
查询命令:]
SELECT sname,sage
FROM student
WHERE sage>(SELECT AVG(sage) FROM student)
ORDER BY sage desc
查询命令:
SELECT iif(sdept='cs','计算机系',iif(sdept='EN','外语系',iif(sdept='IS','信息系',iif(sdept='CM','中医系',iif(sdept='MA','数学系',iif(sdept='WM','西医系','院系不明'))))))as '院系',
男
25
MA
200515009
王小民
女
18
MA