以下3题使用如下的3个数据表: 学生、课程和成绩。 学生(学号 C(8),姓名 C(8),性别 C(2),班级 C(8)) 课程(课程编号 C(8),课程名称 C(20)) 成绩(学号 C(8),课程编号 C(8),成绩 N(5,1))查询所有选修了"计算机基础"的学生的"计算机基础"成绩,要求得到的信息包括学生姓名和成绩,并按成绩由高到低的顺序排列,下列语句正确的是

题目

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

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


相似考题
更多“以下3题使用如下的3个数据表: 学生、课程和成绩。 学生(学号 C(8),姓名 C(8),性别 C(2),班级 C(8)) 课程(课程编号 C(8),课程名称 C(20)) 成绩(学号 C(8),课程编号 C(8),成绩 N(5,1))查询所有选修了"计算机基础"的学生的"计算机基础"成绩,要求得到的信息包括学生姓名和成绩,并按成绩由高到低的顺序排列,下列语句正确的是”相关问题
  • 第1题:

    到(35)题使用如下数据表。

    学生”表:学号C(8),姓名C(8),性别C(2),系名(10),出生日期D

    “课程”表:课程编号C(4),课程名称C(12),开课系名C(10)

    “成绩”表:学号C(8),课程编号C(4),成绩I

    检索每门课程的总分,查询结果中包括课程名和总分,正确的语句是( )。

    A.SELECT课程名称,COUNT(成绩)AS总分FROM课程,成绩; WHERE课程.课程编号=成绩.课程编号; ORDER BY成绩.课程编号

    B.SELECT课程名称,COUNT(成绩)AS总分FROM课程,成绩; WHERE课程.课程编号=成绩.课程编号; GROUP BY成绩.课程编号

    C.SELECT课程名称,SUM(成绩)AS总分FROM课程,成绩; WHERE课程.课程编号=成绩.课程编号; ORDERBY成绩.课程编号

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


    正确答案:D
    解析:进行SQL简单计算查询时,还可以加上GROUP BY子句进行分组计算查询。
    通常来说,一个计算函数的范围是满足WHERE子句指定条件的所有记录。当加上GROUP BY子句后,系统会将查询结果按指定列分成集合组。当一个计算函数和一个GROUP BY子句一起使用时,计算函数的范围变为每组所有的记录。
    本题通过“GROUP BY成绩.课程编号”可以先将记录按“课程编号”分组,然后再通过函数“SUM(成绩)AS总分”对每组记录求和。其中,通过AS短语可以对进行计算的字段指定一个新的字段名。另外,COUNT()函数

  • 第2题:

    使用如下的3个数据表:学生、课程和成绩。

    学生(学号 C(8),姓名 C(8),性别 C(2),班级 C(8))

    课程(课程编号 C(8),课程名称 C(20))

    成绩(学号 C(8),课程编号 C(8),成绩 N(5,1))

    查询每门课程的最高分,要求得到的信息包括课程名和最高分,正确的命令是

    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)的计算函数使用错误。

  • 第3题:

    查询所有选修了“计算机网络”的学生成绩,结果显示该学生的“姓名”、“系名”和“数据库原理”的“成绩”,并按成绩由高到低的顺序排列,下列语句中正确的是 ( )。

    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


    正确答案:D
    解析:本题是一个多表连接查询的SQL语句,关键要注意表间连接条件的使用,如果使用超连接方式查询,则正确的语句格式为:
    SELECT……
    FROM数据库表1>INNER JOIN数据库表2>
    ON连接条件>
    WHERE……
    其中,INNER JOIN等价于JOIN,为普通的连接,在Visual FoxPro中称为内部连接;ON连接条件>指定两个进行表连接的条件字段。
    如果使用的是普通的连接方式,则只需在FROM短语中指定查询的数据表,各表名之间用逗号隔开,而各表之间的连接放在WHERE短语后面,设计两个连接条件时,用AND短语连接这两个条件。

  • 第4题:

    检索每门课程的最高分,要求得到的信息包括课程名称、姓名和最高分,正确的命令是( )。

    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
    解析:本题中首先通过GROUP BY短语将“课程”表中的记录按“课程编号”分组,然后通过MAX()函数求出每组中的最高成绩,即每门课程的最高成绩,由于查询输出结果涉及到多个表的字段,因此要使用连接查询,表之间的连接条件放在WHERE短语中,AND用来连接两个连接条件,以保证在查询的3个表之间建立联系。

  • 第5题:

    已知学生关系S(学生、姓名、班级、课程名称、成绩),学号由入学年份、系别、专业编号和班内编号组成。则其侯选关键字是( )。

    A.(学号、姓名)

    B.(学号、课程名称)

    C.(姓名、成绩)

    D.(学号、班级)


    正确答案:A

  • 第6题:

    使用如下三个数据库表,回答下列各题: 学生(学号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的计算函数使用错误。

  • 第7题:

    学生(学号(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”)


    正确答案:D
    所有选项都是通过嵌套查询来实现题目的要求,因此来看关键字:ALL要求子查询中的所有行结果为真,结果才为真;ANY只要子查询中有一行能使结果为真,则结果就为真。最高分应该为成绩>=ALL(…),要查询选课号为“007”的同学,所以内外查询中都要用到条件:课程号=”007”。

  • 第8题:

    第下列各题中使用如下数据表。 “学生”表:学号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用来连接两个连接条件,以保证在查询的三个表之间建立联系。

  • 第9题:

    当前目录下有“学生”表和“成绩”表两个文件,要求查找同时选修了“课程名称”为“计算机”和“英语”的学生姓名,下列SQL语句的空白处应填入的语句为( )。

    SELECT姓名FROM学生,成绩;

    WHERE学生.学号=成绩.学号;

    AND课程名称=”计算机”;

    AND姓名__;

    (SELECT姓名FROM学生,成绩;

    WHERE学生.学号=成绩.学号;

    AND课程名称=”英语”)


    正确答案:C
    本小题为SQL.,的嵌套查询,通过内层查找符合条件的记录集合,再通过外层查询检索该集合中相同的记录值,使用的特殊运算符为IN(包含运算)。ANY、ALL和SOME是量词,其中ANY和SOME是同义词,在进行比较运算时只要子查询中有一行能使结果为真,则结果为真;而ALL则要求子查询中的所有行都使结果为真时,结果才为真。EXISTS是谓词,EXISTS和NOTEXISTS是用来检查在子查询中是否有结果返回(即存在元组或不存在元组)。

  • 第10题:

    已知学生关系S(学生、姓名、班级、课程名称、成绩),学号由入学年份、系别、专业编号和班级编号组成,则其候选关键字是

    A.学号、姓名

    B.学号、课程名称

    C.姓名、成绩

    D.学号、班级


    正确答案:B
    解析:如果在一个关系中存在多个属性(或属性组合),都能用来惟一标识该关系的元组,这些属性(属性组合)都称为该关系的候选关键字。候选关键字应该是能惟一标识关系的一个元组,根据学号表示的意义,学号可惟一标识一个学生姓名。因为在学生关系中,一个学生可学习很多课程,所以学号和课程名称是可惟一标识学生关系S的一个元组,因而它们的组合可作为候选关键字。

  • 第11题:

    要查询出学号为2008001001所有选取修课程的成绩,正确的是()。

    • A、SELECT学号,姓名,课程代码,总评成绩FROM学生,成绩ON学生.学号=成绩.学号WHERE学号=’2008001001’
    • B、SELECT学号,姓名,课程代码,总评成绩FROM学生INNER JOIN成绩WHERE学生.学号=成绩.学号AND学号=’2008001001’
    • C、SELECT学号,姓名,课程代码,总评成绩FROM学生LEFT OUTER JOIN成绩ON学生.学号=成绩.学号WHERE学号=’2008001001’
    • D、SELECT学号,姓名,课程代码,总评成绩FROM学生,成绩WHERE学生.学号=成绩.学号AND学号=’2008001001’

    正确答案:D

  • 第12题:

    单选题
    查询选修课程号为“101”课程得分最高的同学,正确的SQL语句是(  )。
    A

    SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND课程号=101AND成绩>=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课程号=101AND成绩>=(SELECT成绩FROM选课WHERE课程号=101)


    正确答案: A
    解析:
    ALL表示所有子查询中的所有行都使结果为真时,结果才为真;而ANY表示子查询中有一行能使结果为真,则结果就为真,要求查询选修课程号为“101”的课程得分最高的同学,应用条件短语:成绩>=ALL(SELECT成绩FROM选课WHERE课程号="101")。

  • 第13题:

    利用SQL派生一个包含“课程名称”、“姓名”和“成绩”的视图,要求按“课程名称”升序排序,正确的语句是( )。

    A.CREATE VIEW view1 AS; (SELECT课程.课程名称,学生.姓名,成绩.成绩; FROM课程INNER JOIN成绩; INNER JOIN学生: ON成绩.学号=学生.学号; ON课程.课程编号=成绩.课程编号; GROUP BY课程名称)

    B.CREATE VIEW view1 AS; (SELECT课程.课程名称,学生.姓名,成绩.成绩; FROM课程INNER JOIN成绩; INNER JOIN学生: ON成绩.学号=学生.学号; ON课程.课程编号=成绩.课程编号; ORDER BY课程名称)

    C.CREATE VIEW view1 AS; SELECT课程.课程名称,学生.姓名,成绩.成绩; FROM课程INNER JOIN成绩; INNER JOIN学生: ON成绩.学号=学生.学号; ON课程.课程编号=成绩.课程编号; GROUP BY课程名称

    D.CREATE VIEW view1 AS; SELECT课程.课程名称,学生.姓名,成绩.成绩; FROM课程INNER JOIN成绩; INNER JOIN学生; ON成绩.学号=学生.学号; ON课程.课程编号=成绩.课程编号; ORDER BY课程名称


    正确答案:D
    解析:利用SQL命令可以定义直接建立视图,命令格式如下:
    CREATE VIEW视图名AS;
    SELECT语句
    注意:在定义视图时,SELECT语句部分不需要用括号括起来,用来排序的SQL短语是ORDER BY,而GROUP BY短语的功能是对记录进行分组。

  • 第14题:

    检索每门课程的最高分,要求得到的信息包括课程名称、姓名和最高分,正确的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
    解析:本题中首先通过GROUPBY短语将“课程”表中的记录按“课程编号”分组,然后通过MAX()函数求出每组中的最高成绩,即每门课程的最高成绩。由于查询输出结果涉及到多个表的字段,因此要使用连接查询,表之间的连接条件放在WHERE短语中,AND用来连接两个连接条件,以保证在查询的3个表之间建立联系。

  • 第15题:

    在已打开数据库的情况下,利用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 学生.学号=成绩.学号


    正确答案:D
    解析:利用SQL命令可以定义直接建立视图,命令格式如下:
    CREATE VIEW 视图名 AS;
    SELECT语句
    本题中要注意的是在定义视图时,SELECT语句部分不需要用括号括起来,在进行超连接查询时,可使用的 SQL命令格式如下:
    SELECT……
    FROM数据库表1>INNER JOIN数据库表2>
    ON连接条件>
    WHERE……
    其中,INNER JOIN等价于JOIN,为普通的连接,在Visual FoxPro中称为内部连接;ON连接条件>指定两个进行表连接的条件字段。
    注意:连接类型在FROM子句中给出,并不是在 WHERE子句中,连接条件在ON子句中给出。

  • 第16题:

    在已打开数据库的情况下,利用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 学生.学号=成绩.学号


    正确答案:D
    解析:利用SQL命令可以定义直接建立视图,命令格式如下:
    CREATE VIEW 视图名 AS;
    SELECT语句
    本题中要注意的是在定义视图时,SELECT语句部分不需要用括号括起来,在进行超连接查询时,可使用的 SQL命令格式如下:
    SELECT……
    FROM数据库表1>INNER JOIN数据库表2>
    ON连接条件>
    WHERE……
    其中,INNER JOIN等价于JOIN,为普通的连接,在Visual FoxPro中称为内部连接;ON连接条件>指定两个进行表连接的条件字段。
    注意:连接类型在FROM子句中给出,并不是在 WHERE子句中,连接条件在ON子句中给出。

  • 第17题:

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

    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


    正确答案:D
    解析:本小题为多表联接查询,注意每两个表之间进行关联的关键字,利用ORDER BY短语可以对查询结果进行排序,降序关键字为DESC。 选项A)和选项B)中缺少数据表文件。选项C)中,GROUP BY短语使用错误,将查询结果进行排序的短语是ORDER BY。掌握和理解SQL分组查询语句的格式及功能。

  • 第18题:

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

  • 第19题:

    学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D))选课(学号(C,8),课程号(C,3),成绩(N,5,1)) 将学号为“09080001”、课程号为“002”的选课记录的成绩改为92,正确的SQL语句是( )。

    A. UPDATE FROM选课SET成绩WITH 92 FOR学号=”09080001”AND课程号=”002”

    B. UPDATE FROM选课SET成绩=92 FOR学号=”09080001”AND课程号=”002”

    C. UPDATE选课SET成绩WITH 92 WHERE学号=”09080001”AND课程号”002”

    D. UPDATE选课SET成绩=92 WHERE学号=”09080001”AND课程号=”002”


    正确答案:D
    更新数据格式为:UPDATE数据表名SET列名1=表达式1[,列名2=表达式2…]WHERE筛选条件。

  • 第20题:

    第下列各题使用如下数据表。 学生.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姓名=”刘明”


    正确答案:D
    题中以“学生.学号一选课.学号”为连接条件,以“姓名一”刘明””为筛选记录的条件,同时用AND进行连接,并用AVG函数求得指定字段的平均值。

  • 第21题:

    学生.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正确。

  • 第22题:

    ( 33 )查询选修课程号为 “ 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" )


    正确答案:B

  • 第23题:

    设学生表和成绩表的结构分别为(学号,姓名,所在系)和(学号,课程名,成绩),如果希望按分数降序查询出“英语系中选修了计算机课程的学生姓名和成绩”,则对应的SQL语句是()。

    • A、SELECT姓名,成绩FROM学生表,成绩表WHERE所在系=‘英语系’AND课程名=‘计算机’AND学生表.学号=课程表.学号
    • B、SELECT姓名,成绩FROM学生表,成绩表WHERE所在系=‘英语系’AND课程名=‘计算机’AND学生表.学号=课程表.学号ORDERBY成绩ASC
    • C、SELECT姓名,成绩FROM学生表,成绩表WHERE所在系=‘英语系’AND课程名=‘计算机’AND学生表.学号=课程表.学号ORDERBY成绩
    • D、SELECT姓名,成绩FROM学生表,成绩表WHERE所在系=‘英语系’AND课程名=‘计算机’AND学生表.学号=课程表.学号ORDERBY成绩DESC

    正确答案:D