itgle.com

使用如下三个数据库表: 学生(学号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成绩.成绩ASCB. SELECT学

题目

使用如下三个数据库表: 学生(学号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


相似考题
参考答案和解析
正确答案:D
本小题为多表连接查询,注意每两个表之间进行关联的关键字,利用ORDER BY短语可以对查询结果进行排序,升序关键字为ASC。选项A和选项B中缺少数据表文件。选项C中,GROUP BY短语使用错误,将查询结果进行排序的短语是0RDER BY。
更多“使用如下三个数据库表: 学生(学号C(8),姓名C(8),性别C(2),班级C(8)) 课程(课程编号C(8),课程名 ”相关问题
  • 第1题:

    使用如下三个数据库表,回答下列各题: 学生(学号C(8),姓名C(8),性别C(2),班级C(8)) 课程(课程编号C(8),课程名称C(20)) 成绩(学号C(8),课程编号C(8),成绩N(5,1)) {TS}查询每门课程的最高分,要求得到的信息包括课程名和最高分,正确的命令是( )。

    A. SELECT课程.课程名称,MAX(成绩)AS最高分FROM成绩,课程; WHERE成绩.课程编号=课程.课程编号; GROUP BY课程.课程编号

    B. SELECT课程.课程名称,MAX(成绩)As最高分FROM成绩,课程; WHERE成绩.课程编号=课程.课程编号; GROUP BY课程编号

    C. SELECT课程.课程名称,MIN(成绩)AS最高分FROM成绩,课程; WHERE成绩.课程编号=课程.课程编号; GROUP BY课程.课程编号

    D. SELECT课程.课程名称,MIN(成绩)AS最高分FROM成绩,课程; WHERE成绩.课程编号=课程.课程编号; GROUP BY课程编号


    正确答案:A
    求最大值要利用MAX函数。要查询每门课程的最高分,需要对课程进行分组,而由于课程名称可能出现重名,因此分组依据为课程编号,以确保记录的唯一性。利用As短语可将“成绩”字段名重新命名为“最高分”作为新的字段名,以显示查询结果。选项B的分组条件中,没有指定从哪个表中进行记录分组,因此系统报错。选项c和选项D的计算函数使用错误。

  • 第2题:

    学生.DBF:学号C(8),姓名C(12),性别C(2),出生日期D,院系C(8)

    课程.DBF:课程编号C(4),课程名称C(10),开课院系C(8)

    学生成绩.DBF:学号C(8),课程编号C(4),成绩Ⅰ

    统计只有2名以下(含2名)学生选修的课程情况.统计结果中的信息包括课程名称、

    开课院系和选修人数,并按选课人数排序,正确的命令是


    正确答案:C
    统计人数可以使用C()UNT()函数。在本题中由于学号是唯一的。因而统计人数就可以通过统计学生学号的个数来实现,四个选项中可以排除A、B两个选项,这两个语句都缺少按选修人数进行排序的子旬.选项D的错误在于没有没定查询条件,故选项C正确。

  • 第3题:

    8、有学生表S、课程表C和选课表SC,结构分别如下: s(学号, 姓名, 性别, 年龄) c(课程号, 课程名, 学分) sc(学号, 课程号, 成绩) 检索学号、姓名、学生所修课程的课程名和成绩,正确的SQL语句是()。

    A.SELECT 学号, 姓名, 课程名, 成绩 FROM s, c, sc WHERE s.学号=sc.学号 AND sc.学号=c.学号;

    B.SELECT 学号, 姓名, 课程名, 成绩 FROM s INNER JOIN sc ON s.学号=sc.学号 INNER JOIN c ON sc.课程号=c.课程号;

    C.SELECT s.学号, 姓名, 课程名, 成绩 FROM s INNER JOIN sc INNER JOIN c ON s.学号=sc.学号 ON sc.课程号=c.课程号;

    D.SELECT s.学号, 姓名, 课程名, 成绩 FROM s INNER JOIN sc ON s.学号=sc.学号 INNER JOIN c ON sc.课程号=c.课程号;


    SELECT s.学号, 姓名, 课程名, 成绩 FROM s INNER JOIN sc ON s.学号=sc.学号 INNER JOIN c ON sc.课程号=c.课程号

  • 第4题:

    第下列各题中使用如下数据表。 “学生”表:学号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课程.课程编号


    正确答案:B
    本题中首先通过GROUl’BY短语将“课程”表中的记录按“课程编号”分组,然后通过MAX函数求出每组中的最高成绩,即每门课程的最高成绩。由于查询输出结果涉及多个表的字段,因此要使用连接查询,表之间的连接条件放在WHERE短语中,AND用来连接两个连接条件,以保证在查询的三个表之间建立联系。

  • 第5题:

    以下3题使用如下的3个数据表: 学生、课程和成绩。 学生(学号 C(8),姓名 C(8),性别 C(2),班级 C(8)) 课程(课程编号 C(8),课程名称 C(20)) 成绩(学号 C(8),课程编号 C(8),成绩 N(5,1))

    查询所有选修了"计算机基础"的学生的"计算机基础"成绩,要求得到的信息包括学生姓名和成绩,并按成绩由高到低的顺序排列,下列语句正确的是


    正确答案:D
    本小题为多表联接查询,注意每两个表之间进行关联的关键字,利用ORDERBY短语可以对查询结果进行排序,降序关键字为DESC。选项A)和选项B)中缺少数据表文件。选项C)中,GROUPBY短语使用错误,将查询结果进行排序的短语是ORDERBY。