用结构体编程。某班有5名学生,每名学生的数据包括学号、姓名、3 门课程的成绩。从键盘输入5名学生数据,输出5名同学平均成绩, 以及平均分最高的学生的数据(包括学号、姓名、 3 门课成绩、平均成绩)。
第1题:
检索每门课程的最高分,要求得到的信息包括课程名称、姓名和最高分,正确的SQL语句是( )。
A.SELECT 课程.课程名称,学生.姓名,MAX(成绩) AS 最高分; FROM 成绩,课程,学生; WHERE 成绩.课程编号=课程.课程编号; AND 成绩.学号=学生.学号; GROUP BY 课程编号
B.SELECT 课程.课程名称,学生.姓名,MAX(成绩) AS 最高分; FROM 成绩,课程,学生; WHERE 成绩.课程编号=课程.课程编号; AND 成绩.学号=学生.学号; GROUP BY 课程.课程编号
C.SELECT 课程.课程名称,学生.姓名,MAX(成绩) AS 最高分; FROM 成绩,课程,学生; WHERE 成绩.课程编号=课程.课程编号; AND 成绩.学号=学生.学号; ORDER BY 课程.课程编号
D.SELECT 课程.课程名称=学生.姓名,MAX(成绩) AS 最高分; FROM 成绩,课程,学生; WHERE 成绩.课程编号=课程.课程编号; AND 成绩.学号=学生.学号; ORDER BY 课程.课程编号
第2题:
在已打开数据库的情况下,利用SQL派生一个包含姓名、课程名称和成绩字段的xsview视图,正确的语句是( )。
A.CREATE VIEW xsview AS; SELECT 学生.姓名,课程.课程名称,成绩,成绩; FROM 学生 INNER JOIN 成绩; INNER JOIN 课程; WHERE 成绩.课程编号=课程.课程编号; AND 学生.学号=成绩.学号
B.CREATE VIEW xsview AS; (SELECT 学生.姓名,课程.课程名称,成绩.成绩; FROM 学生 INNER JOIN 成绩; INNER JOIN 课程; ON 成绩.课程编号=课程.课程编号; ON 学生.学号=成绩.学号)
C.CREATE VIEW xsview AS; SELECT 学生.姓名,课程.课程名称,成绩.成绩; WHERE 学生 INNER JOIN 成绩; INNER JOIN 课程; ON 成绩.课程编号=课程.课程编号; ON 学生.学号=成绩.学号
D.CREATE VIEW xsview AS; SELECT 学生.姓名,课程.课程名称,成绩.成绩; FROM 学生 INNER JOIN 成绩; INNER JOIN 课程; ON 成绩.课程编号=课程.课程编号; ON 学生.学号=成绩.学号
第3题:
在关系Student(学号,姓名,系名,课程号,成绩)中,查询至少选修了四门课程的学生学号、姓名及平均成绩的SElECT语句应该是:
SELECT学号,姓名,AVC((254))AS平均成绩
FROM Student
CROUP BY学号
HAVING (255)
A.成绩
B.姓名
C.系名
D.课程号
第4题:
查询所有选修了“计算机基础”的学生的“计算机基础”成绩,要求得到的信息包括学生姓名和成绩,并按成绩由高到低的顺序排列,下列语句正确的是
A.SELECT学生.姓名,成绩.成绩FROM学生,成绩; WHERE学生.学号=成绩.学号; AND课程.课程名称=‘计算机基础’; ORDER BY成绩.成绩DESC
B.SELECT学生.姓名,成绩.成绩FROM课程,成绩; WHERE AND课程.课程编号=成绩.课程编号; AND课程.课程名称=‘计算机基础’; ORDER BY成绩.成绩DESC
C.SELECT学生.姓名,成绩.成绩FROM学生,课程,成绩; WHERE学生.学号=成绩.学号; AND课程.课程编号=成绩.课程编号; AND课程.课程名称=‘计算机基础’; GROUP BY成绩.成绩DESC
D.SELECT学生.姓名,成绩.成绩FROM学生,课程,成绩; WHERE学生.学号=成绩.学号; AND课程.课程编号=成绩.课程编号; AND课程.课程名称=‘计算机基础’; ORDER BY成绩.成绩DESC
第5题:
学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D))选课(学号(C,8),课程号(C,3),成绩(N,5,1)) 查询选修课程号为“007”课程得分最高的学生,正确的SQL语句是( )。
A. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND课程号=”007”AND成绩 >=ALL(SELECT成绩FROM选课)
B. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND成绩 >=ALL(SELECT成绩FROM选课WHERE课程号=”007”)
C. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND成绩 >=ANY(SELECT成绩FROM选课WHERE课程号=”007”)
D. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND 课程号=”007”AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号=”007”)
第6题:
第下列各题中使用如下数据表。 “学生”表:学号C(8),姓名C(8),性别c(2),系名(6) “课程”表:课程编号C(4),课程名称c(12),开课系名C(10) “成绩”表:学号c(8),课程编号c(4),成绩N(6,2) 检索每门课程的最高分,要求得到的信息包括课程名称、姓名和最高分,正确的SQL语句是( )。
A.SELECT课程.课程名称,学生.姓名,MAX(成绩). As最高分 FROM成绩,课程,学生 WHERE成绩.课程编号=课程.课程编号 AND成绩.学号=学生.学号 GROUP BY课程编号
B.SELECT课程.课程名称,学生.姓名,MAX(成绩) AS最高分 FROM成绩,课程,学生 wHERE成绩.课程编号=课程.课程编号 AND成绩.学号=学生.学号 GROUP BY课程.课程编号
C.SELECT课程.课程名称,学生.姓名.MAX(成绩) AS.最高分 FROM成绩,课程,学生 WHERE成绩.课程编号=课程.课程编号 AND成绩.学号=学生.学号 ORDER BY课程.课程编号
D.SELECT课程.课程名称,学生.姓名.MAX(成绩) AS最高分 FROM成绩,课程,学生 WHERE成绩.课程编号=课程.课程编号 AND成绩.学号=学生.!学号 ORDER BY课程.课程编号
第7题:
有一个student表(学生,姓名,系名,课程名,成绩),查询至少修了四门课程的学生
学号,姓名以及平均成绩的 SQL语句。
第8题:
查询选修课程号为“101”的课程得分最高的同学,正确的SQL语句是( )。
A.SELECT学生.学号,姓名FROM学生,选课 WHERE学生.学号=选课.学号 AND课程号=”101”AND成绩>=A11(SELECT成绩FROM选课)
B.SELECT学生.学号,姓名FROM学生,选课 WHERE学生.学号=选课.学号 AND成绩>=A11(SELECT成绩FROM选课 WHERE课程号=”101”)
C.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND成绩>:=:A11(SELECT成绩FROM选课 WHERE课程号=”101”)
D.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号一选课.学号AND 课程号一”101”AND成绩>=A11(SELECT成绩FROM选课WHERE课程号一”101”)
第9题:
查询选修课程号为"101"课程得分最高的同学,正确的SQL语句是
A.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND课程号="101”AND成绩>=ALL(SELECT成绩FROM选课)
B.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号;选课.学号 AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号="101")
C.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号二选课.学号 AND成绩>=ANY(SELECT成绩FROM选课WHERE课程号="101")
D.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND课程号="101" AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号 ="101")
第10题:
第11题:
设学生表和课程表的结构分别为(学号,姓名)和(学号,课程号,成绩),如果希望查询出“成绩大于90分的学生姓名”,则对应的SQL语句是()。
ASELECT 姓名 FROM 学生表 WHERE 学生表.学号=课程表.学号 AND 课程表.成绩>90
BSELECT 姓名 FROM 课程表 WHERE学生表.学号=课程表.学号 AND 课程表.成绩>90
CSELECT 姓名 FROM 学生表,课程表 WHERE 学生表.学号=课程表.学号 OR 课程表.成绩>90
DSELECT 姓名 FROM 学生表,课程表 WHERE 学生表.学号=课程表.学号 AND 课程表.成绩>90
第12题:
SELECT S.学号,姓名,AVG(成绩)平均成绩 FROM S,SC;
WHERE S.学号=SC.学号;
GROUP BY S.学号,姓名 HAVING COUNT(*)>=5 ORDER BY 3 DESC
SELECT S.学号,姓名,AVG(成绩) FROM S,SC;
WHERE S.学号=SC.学号 AND COUNT(*)>=5;
GROUP BY 学号,姓名 ORDER BY 3 DESC
SELECT S.学号,姓名,AVG(成绩) 平均成绩 FROM S,SC;
WHERE S.学号=SC.学号 AND COUNT(*)>=5;
GROUP BY S.学号,姓名 ORDER BY 平均成绩 DESC
SELECT S.学号,姓名,平均成绩 FROM S,SC;
WHERE S.学号=SC.学号;
GROUP BY S.学号,姓名 HAVING COUNT(*)>=50RDER BY 平均成绩 DESC
第13题:
查询所有选修了“计算机网络”的学生成绩,结果显示该学生的“姓名”、“系名”和“数据库原理”的“成绩”,并按成绩由高到低的顺序排列,下列语句中正确的是 ( )。
A.SELECT学生.姓名,学生.系名,成绩.成绩FROM学生,课程,成绩; FOR学生.学号=成绩.学号; AND课程.课程编号=成绩.课程编号; AND课程.课程名称="计算机网络"; ORDER BY成绩.成绩DESC
B.SELECT 学生.姓名.学生.系名.成绩.成绩JOIN学生,课程,成绩; ON学生.学号=成绩.学号; ON课程.课程编号=成绩.课程编号; AND课程.课程名称="计算机网络"; ORDER BY成绩.成绩DESC
C.SELECT学生.姓名,学生.系名,成绩.成绩 FROM 学生,课程,成绩; WHERE学生.学号=成绩.学号; OR课程.课程编号=成绩.课程编号; OR课程.课程名称="计算机网络"; ORDER BY 成绩.成绩 DESC
D.SELECT 学生.姓名,学生.系名,成绩.成绩FROM学生,课程,成绩; WHERE 学生.学号=成绩.学号; AND 课程.课程编号=成绩.课程编号; AND 课程.课程名称="计算机网络"; ORDER BY成绩.成绩 DESC
第14题:
已知表S(学号,姓名,年龄)
SC(学号,课程号,成绩)
C(课程号,课程名,教师名)
试用SQL查询语句表达下列对教学数据库中的三个基本表S、SC、C的查询:
(1)统计有学生选修的课程门数.
(2)求选修C4课程的学生的平均年龄.
(3)求王平老师所授课程的每门课程的学生平均成绩.
(4)统计每门课程的学生选修人数(超过10人的课程才统计).要求输出课程号和选修人数.
(5)查询姓名以WANG开头的所有学生的姓名和年龄.
第15题:
有如下关系数据库:
学生(学号,姓名,性别,专业、奖学金)
课程(课程号,名称,学分)
学习(学号,课程号,分数)
用sQL语言完成下列操作:
1)检索没有任何一门课程成绩在80分以下的所有学生的信息,包括学号、姓名和专业;
2)检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、
姓名和专业;
3)对成绩得过满分(100分)的学生,如果没有获得奖学金的,将其奖学金设为1000元;
4)定义学生成绩得过满分(100分)的课程视图AAA,包括课程号、名称和学分。
第16题:
使用如下三个数据库表: 学生(学号C(8),姓名C(8),性别C(2),班级C(8)) 课程(课程编号C(8),课程名称C(20)) 成绩(学号C(8),课程编号C(8),成绩N(5,1)) 查询所有选修了“高等数学”的学生的“相关”成绩,要求信息中包括学生姓名和成绩,并按成绩由低到高的顺序排列,下列语句正确的是( )。
A. SELECT学生.姓名,成绩.成绩FROM学生,成绩; WHERE学生.学号=成绩.学号; AND课程.课程名称=’高等数学’; ORDER BY成绩.成绩ASC
B. SELECT学生.姓名,成绩.成绩FROM课程,成绩; WHERE AND课程.课程编号=成绩.课程编号; AND课程.课程名称=’高等数学’; ORDER BY成绩.成绩ASC
C. SELECT学生.姓名,成绩.成绩FROM学生,课程,成绩; WHERE学生.学号=成绩.学号; AND课程.课程编号=成绩.课程编号; AND课程.课程名称=’高等数学’; GROUP BY成绩.成绩ASC
D. SELECT学生.姓名,成绩.成绩FROM学生,课程,成绩; WHERE学生.学号=成绩.学号; AND课程.课程编号=成绩.课程编号; AND课程.课程名称=’高等数学’; ORDER BY成绩.成绩ASC
第17题:
检索还未确定成绩的学生选课信息,正确的SQL命令是( )。
A.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 WHERE学生.学号=选课.学号AND选课.成绩IS NULL
B.SELECT、学生.学号,姓名,选课.课程号FROM学生JOIN选课 WHERE学生.学号=选课.学号AND选课.成绩=NULL
C.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 ON学生.学号=选课.学号WHERE选课.成绩IS NULL
D.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 ON学生.学号=选课.学号WHERE选课.成绩=NULL
第18题:
已知关系模式:
S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名
C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师
SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩
要求实现如下5个处理:
1. 找出没有选修过“李明”老师讲授课程的所有学生姓名
2. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩
3. 列出既学过“1”号课程,又学过“2”号课程的所有学生姓名
4. 列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号
5. 列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩
第19题:
第下列各题使用如下数据表。 学生.DBF:学号(C,8),姓名(C,6),性别(C,2),出生日期(D) 选课.DBF:学号(c,8),课程号(C,3),成绩(N,5,1) 计算刘明同学选修的所有课程的平均成绩,正确的SQL 语句是( )。
A.SELECT AVG(成绩)FROM选课WHERE姓名=”刘明“
B.SELECT AVG(成绩)FRM学生,选课WHERE姓名=”刘明”
C.SELECT AVG(成绩)FROM学生,选课WHERE学生.姓名=”刘明”
D.SELECT AVG(成绩)FROM学生,选课WHERE学生.学号=选课.学号AND姓名=”刘明”
第20题:
计算刘明同学选修的所有课程的平均成绩,正确的SQL语句是
A.SELECTAVG(成绩)FROM选课WHERE姓名="刘明"
B.SELECTAVG(成绩)FROM学生,选课WHERE姓名="刘明"
C.SELECTAVG(成绩)FROM学生,选课WHERE学生.姓名="刘明"
D.SELECTAVG(成绩)FROM学生,选课WHERE学生.学号=选课.学号AND姓名="刘明"
第21题:
●设有学生关系Student(学号,姓名,系名,课程号,成绩),则查询至少选修了四门课程的学生学号、姓名及平均成绩的SELECT语句为:
SELECT学号,姓名,(59)
FROM Student
GROUP BY(60)
HAVING(61)
(59)A.SUM(成绩)
B.AVG(SUM(成绩))
C.AVG(成绩)AT平均成绩
D.AVG(成绩)AS平均成绩
(60)A.学号
B.姓名
C.系名
D.课程号
(61)A.COUNT(DISTINCT学号)>3
B.COUNT(课程号)>3
C.COUNT(DISTINCT学号)>=3
D.COUNT(课程号)>=3
第22题:
第23题:
SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND课程号=101AND成绩>=ALL(SELECT成绩FROM选课)
SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号=101)
SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND成绩>=ANY(SELECT成绩FROM选课WHERE课程号=101)
SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND课程号=101AND成绩>=(SELECT成绩FROM选课WHERE课程号=101)
第24题:
SELECT学号,姓名,课程代码,总评成绩FROM学生,成绩ON学生.学号=成绩.学号WHERE学号=’2008001001’
SELECT学号,姓名,课程代码,总评成绩FROM学生INNER JOIN成绩WHERE学生.学号=成绩.学号AND学号=’2008001001’
SELECT学号,姓名,课程代码,总评成绩FROM学生LEFT OUTER JOIN成绩ON学生.学号=成绩.学号WHERE学号=’2008001001’
SELECT学号,姓名,课程代码,总评成绩FROM学生,成绩WHERE学生.学号=成绩.学号AND学号=’2008001001’