第六章数据库练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章
1 设 A、B两个表的记录数分别为3和4,对两个表执行交叉连接查询,查询结果中最多可获得()条记录。
A. 3
B. 4
C. 12
D.81
2-8题数据见表6-1,6-2,6-3
2 使用查询语句:
SELECT 课程编号,MAX(分数)FROM grade GROUP BY 课程编号
查询结果的记录数有()
A . 2
B .3 C. 4 D . 5
3 使用查询语句:
SELECT 学号,COUNT(*) FROM grade
WHERE 分数 >= 75
GROUP BY 学号 HAVING COUNT(*) >= 2
ORDER BY 学号 DESC
查询结果中的第一条记录的学号是()
A . 0002 B. 0003 C. 0001 D . 无查询结果
4 使用查询语句:
SELECT student_info.姓名,sum(分数)
FROM student_info,grade
WHERE student_info.学号=grade.学号
GROUP BY student_info.学号,student_info,姓名
查询结果是()
A. 按学号分类的每个学生所有课程成绩的总分
B. 按学号分类的每个学生各课程成绩
C. 全体学生的按各课程分类的成绩总分
D . 所有学生所有课程成绩总分
5 有以下查询语句
SELECT MAX(分数) as 最高分
FROM student_info,curriculum,grade
where student_info,学号=geade .学号
and curriculum. 课程编号=grade.课程编号
and 课程名称=’SQL SERVER 数据库及应用’
查询的结果是()
A . 82 B. 87 C. 78 D.90
6 查询选修了课程编号为"0002"的学生的学号和姓名,以下 SQL 语句哪个是错误的()
A. SELECT 学号,姓名 FROM studeng_info
where学号= (select 学号 from grade where 课程编号 = ’0002‘)
B . select student_info.学号,student_info.姓名
from student_info,grade
where student_info.学号= grade.学号 and 课程编号 =’0002‘)
C . SEKECT student_info.学号,student_info.学号=grade.学号
where grade.课程编号= ’0002‘
D. SELECT 学号,姓名 FROM student_info
where 学号 in (select 学号 from grade where 课程编号 = ’0002‘)
7 查询每门课程的最高分,要求得到的信息包括课程名称和分数,正确的命令是()
A.
SELECT 课程名称,SUM (分数) as 分数
from curricum.课程编号 = grade.课程编号
GROUP BY 课程名称
B .
SELECT 课程名称,,MAX (人数) 分数
from curriculum,grade
where curriculum.课程编号= grade.课程编号
GROUP BY 课程名称
C .
SELECT 课程名称,SUM(分数) 分数
FROM curriculum,grade
WHERE curriculum.课程编号= grade.课程编号
GROUP BY CURRICULUM. 课程编号
D.
ELECT 课程名称,MAX(分数) as 分数
FROM CUEEICULUM, grade
WHERE curriculum.课程编号= grade.课程编号
GROUP BY curriculum. 课程编号
在已建立的studentsdb数据库中,修改student_info表,为其添加一列”院系char(8)“;修改curriculum表,为其添加一列”开课院系char(8)“,完成 8-10 题
8 统计只有2名以下(含2名)学生选修的课程的情况,统计结果中的信息包括课程名称、开课院系和选修人数,并按选课人数排序。正确的命令是()
A.
SELECT 课程名称,开课院系,COUNT(课程编号)as 选修人数
FROM grade,curriculum
where curriculum.课程编号= grade.课程编号
GROUP BY grade.课程编号 GAVING COUNT(*)<=2
ORDER BY COUNT(课程编号)
B .
SELECT 课程名称,开课院系,COUNT(学号)选修人数
FROM grade,curriculum
WHERE curriculum.课程编号= grade.课程编号
GROUP BY grade.学号 GACING COUNT(*)<=2
IRDER BY COUNT(学号)
C .
SELECT 课程名称,开课院系,COUNT(学号) AS 选修人数
FROM grade,curriculum
WHERE curriculum.课程编号= grade.课程编号
GROUP BY 课程名称,开课院系 GACING COUNT(*)<=2
IRDER BY 选课人数
D .
SELECT 课程名称,开课院系,COUNT(学号) AS 选修人数
FROM grade,curriculum
HAVING COUNT (课程编号)<=2 GROUP BY 课程名称
ORDER BY 选修人数
9 向student_info表插入一条记录的正确命令是()
A .
APPEND INTO student_info
values(‘0009’,‘张三’,‘男’,‘管理’,‘1983-10-28’)
B .
INSERT INTO student_info (学号,姓名,性别,出生日期,院系)
values(‘0009’,‘张三’,‘男’,‘1983-10-28’,’管理‘)
C .
APPEND INTO student_info(学号,姓名,性别,出生日期,院系)
values(‘0009’,‘张三’,‘男’,‘1983-10-28’,’管理‘)
D .
INSERT INTO student_info
values(‘0009’,‘张三’,‘男’,‘1983-10-28’)
10 使用SQL语句从student_info表中查询所有姓张的同学的信息,正确的命令是()
A . SELECT * FROM student_info WHERE LEFT (姓名,1)= ’张‘
B. SELECT * FROM student_info WHERE RIGHT (姓名,1)= ’张‘
C . SELECT * FROM student_info WHERE TRIM (姓名,1)= ’张‘
D . SELECT * FROM student_info WHER
E STR (姓名,1)= ’张
11 查询职工实发工资的正确命令是()
A .
SELECT 姓名,(基本工资+津贴+奖金-扣除) AS 实发工资FROM 工资
B .
SELECT 姓名,(基本工资+津贴+奖金-扣除) AS 实发工资FROM 工资
WHERE 职工.职工号=工资.职工号
C .
SELECT 姓名,(基本工资+津贴+奖金-扣除) AS 实发工资FROM 工资,职工WHERE 职工.职工号=工资.职工号
D .
ELECT 姓名,(基本工资+津贴+奖金-扣除) AS 实发工资FROM 工资JOIN 职工WHERE 职工.职工号=工资.职工号