niusouti.com

有一学生成绩表,包括学号、姓名、3门课程成绩。请实现如下查找功能:输入一个学生的学号,输出该学生学号、姓名、3门课程成绩

题目

有一学生成绩表,包括学号、姓名、3门课程成绩。请实现如下查找功能:输入一个学生的学号,输出该学生学号、姓名、3门课程成绩


相似考题
参考答案和解析
A
更多“有一学生成绩表,包括学号、姓名、3门课程成绩。请实现如下查找功能:输入一个学生的学号,输出该学生学号、姓名、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 课程.课程编号


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

  • 第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 学生.学号=成绩.学号


    正确答案: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子句中给出。

  • 第3题:

    在已打开数据库的情况下,利用SQL创建一个包含姓名、课程名称和成绩字段的xsview视图,正确的语句是( )。

    A.CREATE VIEW xsview AS SELECT学生.姓名,课程.课程名称,成绩.成绩 FROM学生INNER JOIN成绩 INNER JOIN课程 WHERE成绩.课程编号:=课程.课程编号 AND学生.学号一成绩.学号

    B.CREATE VIEW xsview As (SELECT学生.姓名,课程.课程名称,成绩.成绩 FROM学生INNERJOIN成绩 INNER JOIN课程 ON成绩.课程编号=课程.课程编号 ON学生.学号=成绩.学号)

    C.CREATE VIEW xsview A SELECT学生.姓名,课程.课程名称,成绩.成绩 WHERE学生INNER JOIN成绩 INNER JOIN课程 ON成绩.课程编号=课程.课程编号 ON学生.学号=成绩.学号

    D.CREATE VIEw Xsview A SELECT学生.姓名,课程.课程名称,成绩.成绩 FROM学生INNER JOIN成绩 INNER JOIN课程 ON成绩.课程编号=课程.课程编号 ON学生.学号=成绩.学号


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

  • 第4题:

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

  • 第5题:

    检索还未确定成绩的学生选课信息,正确的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


    正确答案:C
    解析:inner join on表示内链接,内链接是通过比较源表间共享的列的值从多个源表检索行的操作。内联接排除来自不具有与其它源表中的行匹配的行的源表的行。

  • 第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课程.课程编号


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

  • 第7题:

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

    SELECT姓名FROM学生,成绩;

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

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

    AND姓名__;

    (SELECT姓名FROM学生,成绩;

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

    AND课程名称=”英语”)


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

  • 第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”)


    正确答案:D
    本题采用嵌套查询。其中,ALL表示所有的结果。

  • 第9题:

    设有表示学生选课的三张表,学生表(学号,姓名,性别),课程表(课程号,课程名),选课成绩表(学号,课程号,成绩),则选课成绩表的关键字为( )。

    A)课程号,成绩

    B)学号,成绩

    C)学号,课程号

    D)学号,课程号,成绩


    正确答案:C

  • 第10题:

    有如下SQL语句:下列哪条命令与该SQL语句等价() SELECT姓名FROM学生表WHERE学号IN; (SELECT学号FROM成绩表WHERE成绩>90)

    • A、SELECT姓名FROM学生表WHEREEXISTS;(SELECT学号FROM成绩表WHERE成绩>90)
    • B、SELECT姓名FROM学生表WHEREEXISTS;(SELECT学号FROM成绩表WHERE学号=学生表.学号AND成绩>90)
    • C、SELECT姓名FROM学生表WHERE学号EXISTS;(SELECT学号FROM成绩表WHERE学号=学生表.学号AND成绩>90)
    • D、SELECT姓名FROM学生表WHERE学号=;(SELECT学号FROM成绩表WHERE成绩>90)

    正确答案:B

  • 第11题:

    单选题
    假设成绩字段的默认值是空值,检索还未确定成绩的学生选课信息,正确的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


    正确答案: D
    解析:
    超连接查询有4种连接方式,其基本格式为:SELECT…FROM左表INNER|LEFT|RIGHT|FULLJOIN右表ON连接条件WHERE其他条件。要检索还未确定成绩的学生选课信息,应使用IS NULL。

  • 第12题:

    单选题
    设学生表和课程表的结构分别为(学号,姓名)和(学号,课程号,成绩),如果希望查询出“成绩大于90分的学生姓名”,则对应的SQL语句是()。
    A

    SELECT 姓名 FROM 学生表 WHERE 学生表.学号=课程表.学号 AND 课程表.成绩>90

    B

    SELECT 姓名 FROM 课程表 WHERE学生表.学号=课程表.学号 AND 课程表.成绩>90

    C

    SELECT 姓名 FROM 学生表,课程表 WHERE 学生表.学号=课程表.学号 OR 课程表.成绩>90

    D

    SELECT 姓名 FROM 学生表,课程表 WHERE 学生表.学号=课程表.学号 AND 课程表.成绩>90


    正确答案: D
    解析: 暂无解析

  • 第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


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

  • 第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


    参考答案D

  • 第15题:

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

    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分组查询语句的格式及功能。

  • 第16题:

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

  • 第17题:

    设学生表S、课程表C和学生选课表SC的结构如下:

    S(学号,姓名,年龄,系别)

    C(课程号,课程名)

    SC(学号,课程号,成绩)

    查询学生姓名及所选修课程的课程号和成绩,实现此功能的SELECT语句是______。

    A.SELECTS.姓名,SC课程号,SC成绩FROM S WHERE S.学号=SC.学号

    B.SELECTS.姓名,SC课程号,SC成绩FROM SC WHERE S.学号=SC.成绩

    C.SELECTS.姓名,SC课程号,SC成绩FROMS,SC WHERE S.学号=SC.学号

    D.SELECTS.姓名,SC课程号,SC成绩FROM S,SC


    正确答案:C

  • 第18题:

    有如下SQL语句: SELECT姓名FROM学生表WHERE学号IN; (SELECT学号FROM成绩表WHERE成绩>90) 下列哪条命令与该SQL语句等价

    A.SELECT姓名FROM学生表WHERE EXISTS; (SELECT学号FROM成绩表WHERE成绩>90)

    B.SELECT姓名FROM学生表WHERE EXISTS; (SELECT学号FROM成绩表WHERE学号=学生表.学号AND成绩>90)

    C.SELECT姓名FROM学生表WHERE学号EXISTS; (SELECT学号FROM成绩表WHERE学号=学生表.学号AND成绩>90)

    D. SELECT姓名FROM学生表WHERE学号=; (SELECT学号FROM成绩表WHERE成绩>90)


    正确答案:B
    解析:IN是包含运算,此处子查询中得到多个结果,记录不惟一,因此不用“=”运算符;EXISTS是谓词,用来检查在子查询中时候有结果返回。

  • 第19题:

    检索还未确定成绩的学生选课信息,正确的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


    正确答案:C
    C。【解析】INNERJOINON表示内链接,内链接是通过比较源表间共享的列的值从多个源表检索行的操作。内链接排除来自不具有与其他源表中的行匹配的行的源表的行。

  • 第20题:

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


    正确答案:D
    解析:本题所给出的四个选项中:
      选项A中的子查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是“101”课程得分大于等于所有科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询无结果,此选项错误。选项B中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于所有“101”科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询将查询出错误结果,此选项错误。
      选项C中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于任意“101”科目成绩的记录,此查询将杳询出错误结果,此选项错误。
      选项D符合题意,将查询出正确结果,故为正确答案。

  • 第21题:

    设学生表和课程表的结构分别为(学号,姓名)和(学号,课程号,成绩),如果希望查询出“成绩大于90分的学生姓名”,则对应的SQL语句是()。

    ASELECT 姓名 FROM 学生表 WHERE 学生表.学号=课程表.学号 AND 课程表.成绩>90

    BSELECT 姓名 FROM 课程表 WHERE学生表.学号=课程表.学号 AND 课程表.成绩>90

    CSELECT 姓名 FROM 学生表,课程表 WHERE 学生表.学号=课程表.学号 OR 课程表.成绩>90

    DSELECT 姓名 FROM 学生表,课程表 WHERE 学生表.学号=课程表.学号 AND 课程表.成绩>90


    D

  • 第22题:

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

  • 第23题:

    单选题
    查询选修课程号为“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")。

  • 第24题:

    单选题
    要查询出学号为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
    解析: 暂无解析