结构体习题:输入n名学生学号、姓名、三门课成绩,计算平均分,输出排行榜
第1题:
有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。
第2题:
查询所有选修了“计算机网络”的学生成绩,结果显示该学生的“姓名”、“系名”和“数据库原理”的“成绩”,并按成绩由高到低的顺序排列,下列语句中正确的是 ( )。
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
第3题:
要求选出学生中平均成绩最高的人的学号,姓名和平均分,下列语句中正确的是_____
A SELECT TOP 1 学号,姓名,平均分 FROM STUDENT,SKB.DBF ORDER BY 平均分
B SELECT TOP 1 STUDENT.学号,STUDENT.姓名,AVG(SKB.成绩) AS 平均分FROM STUDENT INNER JOIN SKB.DBF WHERE STUDENT. 学号=SKB.学号 GROUP BY STUDENT.学号 ORDER BY 3 DESC
C SELECT TOP 1 STUDENT.学号,STUDENT.姓名,AVG(SKB.成绩) AS 平均分FROM STUDENT INNER JOIN SKB.DBF ON STUDENT.学号=SKB.学号 GROUP BY STUDENT.学号 ORDER BY 3 DESC
D SELECT TOP 1 PERCENT STUDENT.学号,STUDENT.姓名,AVG(SKB.成绩) AS 平均分 FROM STUDENT INNER JOIN SKB.DBF ON STUDENT.学号=SKB.学号 GROUP BY STUDENT.学号 ORDER BY 3 DESC
第4题:
设有学生表S(学号,姓名,性别,年龄)、课程表 (课程号。课程名,学分)和学生选课表SC(学号,课程号,绩).检索学号、姓名和学生所选课程的课程名和成绩,正确的SQL语句是( )。
A.SELECT学号,姓名,课程名,成绩FROM S,SC,CWHERE S.学号=SC.学号AND SC.学号=C.学号
B.SELECT学号,姓名,课程名,成绩 FROM(S JOIN SC ON S.学号=SC.学号)JOIN C0N SC.课程号=C.课程号
C.SELECT S.学号,姓名,课程名,成绩 FROM S JOIN SC JOIN C ON S.学号=SC.学号 ON SC.课程号=C.课程号
D.SELECT S.学号,姓名,课程名,成绩 FROM S JOIN SC JOIN c ON SC.课程号=C.课程 号ON S.学号=SC.学号
第5题:
现有表:s(学号,姓名,性别,年龄),c(课程号,课程名,学分),SC(学号,课程号,成绩)。检索学号、姓名和学生所选课程的课程名和成绩,正确的SQL命令是( )。
A. SELECT学号,姓名,课程名,成绩FROM S,SC,C; WHERE S.学号=SC.学号AND SC.课程号=C.课程号
B. SELECT学号,姓名,课程名,成绩; FROM(S JOIN SC ON S.学号=SC.学号)JOIN C ON SC.课程号=C.课程号
C. SELECT S.学号,姓名,课程名,成绩; FROM S JOIN SC JOIN C ON S.学号=SC.学号ON SC.课程号=C.课程号
D. SELECT S.学号,姓名,课程名,成绩; FROM S JOIN SC JOIN C ON SC.课程号=C.课程号0N S.学号=SC.学号
第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题:
当前目录下有“学生”表和“成绩”表两个文件,要求查找同时选修了“课程名称”为“计算机”和“英语”的学生姓名,下列SQL语句的空白处应填入的语句为( )。
SELECT姓名FROM学生,成绩;
WHERE学生.学号=成绩.学号;
AND课程名称=”计算机”;
AND姓名__;
(SELECT姓名FROM学生,成绩;
WHERE学生.学号=成绩.学号;
AND课程名称=”英语”)
第8题:
设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课程号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为
A.课号,成绩
B.学号,成绩
C.学号,课号
D.学号,姓名,成绩
第9题:
假定有关系学生(学号、姓名、年龄、班级号),课程(课程号、课称名、学分),考试(学号、课程号、成绩),查询20岁的学生的学号、姓名和年龄。使用()关系。
第10题:
设学生表和成绩表的结构分别为(学号,姓名,所在系)和(学号,课程名,成绩),如果希望按分数降序查询出“英语系中选修了计算机课程的学生姓名和成绩”,则对应的SQL语句是()。
第11题:
课号,成绩
学号,成绩
学号,课号
学号,姓名,成绩
第12题:
SELECT s.学号,姓名,课程名,成绩
FROM student s,score sc,course e
WHERE s.学号=sc.学号,sc.课程号=c.课程号,院系='计算机系'
SELECT学号,姓名,课程名,成绩
FROM student s,score sc,course c
WHERE s.学号=sc.学号AND sc.课程号=c.课程号AND院系='计算机系'
SELECT s.学号,姓名,课程名,成绩
FROM(student s JOIN score se ON s.学号=sc.学号)
JOIN course c ON sc.课程号=c.课程号
WHERE院系='计算机系'
SELECT学号,姓名,课程名,成绩
FROM(student s JOIN score sc ON s.学号=sc.学号)
JOIN course c ON sc.课程号=c.课程号
WHERE院系='计算机系'
第13题:
基于数据库中的学生表、成绩表、任课表:
学生(学号,姓名,性别,出生日期,系名)
成绩(学号,课程名,成绩)
任课(课程名,任课教师名)
用SQL语言中的CREATE语句创建一个含有学号、姓名、性别、系名、课程名、成绩、任课教师名的学生成绩视图.
第14题:
设学生表和成绩表的结构分别为(学号,姓名,所在系)和(学号,课程名,成绩),如果希望按分数降序查询出“英语系中选修了计算机课程的学生姓名和成绩”,则对应的SQL语句是()。
A. SELECT姓名,成绩FROM学生表,成绩表WHERE所在系一‘英语系’AND课
程名=‘计算机’AND学生表.学号=课程表,学号
B. SELECT姓名,成绩FROM学生表,成绩表WHERE所在系=‘英语系’AND课
程名=‘计算机’AND学生表.学号=课程表.学号ORDER BY成绩ASC
C. SELECT姓名,成绩FROM学生表,成绩表WHERE所在系=‘英语系’AND课
程名=计算机’AND学生表。学号=课程表。学号ORDER BY成绩
D. SELECT姓名,成绩FROM学生表,成绩表WHERE所在系=‘英语系’AND课
程名=‘计算机’AND学生表.学号一课程表.学号ORDER BY成绩DESC
第15题:
在关系Student(学号,姓名,系名,课程号,成绩)中,查询至少选修了四门课程的学生学号、姓名及平均成绩的SElECT语句应该是:
SELECT学号,姓名,AVC((254))AS平均成绩
FROM Student
CROUP BY学号
HAVING (255)
A.成绩
B.姓名
C.系名
D.课程号
第16题:
查询所有选修了“计算机基础”的学生的“计算机基础”成绩,要求得到的信息包括学生姓名和成绩,并按成绩由高到低的顺序排列,下列语句正确的是
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
第17题:
学生(学号(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”)
第18题:
学生表:student(学号,姓名,性别,出生日期,院系)
课程表:course(课程号,课程名,学时)
选课成绩表:score(学号,课程号,成绩)
其中出生日期的数据类型为日期型,学时和成绩为数值型,其他均为字符型。
查询“计算机系’’学生的学号、姓名、学生所选课程的课程名和成绩,正确的命令是
A.SELECT s.学号,姓名,课程名,成绩 FROM studentS,score SC,course C WHERE s.学号=sc.学号,sc.课程号=c.课程号,院系=‘计算机系’
B.SELECT学号,姓名,课程名,成绩 FROM student S,score SC,course c WHERE s.学号=sc.学号AND sc.课程号=c.课程号AND院系=‘计算机系’
C.SELECT s.学号,姓名,课程名,成绩 FROM(student s JOIN score sc ON s.学号=sc.学号). JOIN course c ON sc.课程号=c.课程号 WHERE院系=‘计算机系’
D.SELECT学号,姓名,课程名,成绩 FROM(student s JOIN score sc‘ON s.学号=sc.学号) JOIN course c ON sc.课程号=c.课程号 WHERE院系=‘计算机系’
第19题:
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是对形参b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。
例如:b所指变量t中的学号、姓名、和三门课的成绩依次是:10002、“ZhangQi”、93、85、87,修改后输出t中的数据应为:10004、“LiJie”、93、85、87。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
第20题:
设学生表和课程表的结构分别为(学号,姓名)和(学号,课程号,成绩),如果希望查询出“成绩大于90分的学生姓名”,则对应的SQL语句是()。
ASELECT 姓名 FROM 学生表 WHERE 学生表.学号=课程表.学号 AND 课程表.成绩>90
BSELECT 姓名 FROM 课程表 WHERE学生表.学号=课程表.学号 AND 课程表.成绩>90
CSELECT 姓名 FROM 学生表,课程表 WHERE 学生表.学号=课程表.学号 OR 课程表.成绩>90
DSELECT 姓名 FROM 学生表,课程表 WHERE 学生表.学号=课程表.学号 AND 课程表.成绩>90
第21题:
当前工作表上有一个学生情况数据列表,表中包含学号、姓名、专业、三门主课成绩等字段。若要按专业计算出每门课的平均成绩,最合适的方法是()。
第22题:
设有学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字为()
第23题:
SELECT学号,姓名,课程名,成绩FROM S,SC,C
WHERE S.学号=SC.学号AND SC.学号=C.学号
SELECT学号,姓名,课程名,成绩
FROM(S JOIN SC ON S.学号=SC.学号)JOIN C ON SC.课程号=C.课程号
SELECT S.学号,姓名,课程名,成绩
FROM S JOIN SC JOIN C ON S.学号=SC.学号ON SC.课程号=C.课程号
SELECT S.学号,姓名,课程名,成绩
FROM S JOIN SC JOIN C ON SC.课程号=C.课程号ON S.学号=SC.学号
第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’