niusouti.com

设学生表和课程表的结构分别为(学号,姓名)和(学号,课程号,成绩),如果希望查询出“成绩大于90分的学生姓名”,则对应的SQL语句是()。ASELECT 姓名 FROM 学生表 WHERE 学生表.学号=课程表.学号 AND 课程表.成绩>90BSELECT 姓名 FROM 课程表 WHERE学生表.学号=课程表.学号 AND 课程表.成绩>90CSELECT 姓名 FROM 学生表,课程表 WHERE 学生表.学号=课程表.学号 OR 课程表.成绩>90DSELECT 姓名 FROM 学生表,课程表 W

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

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

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

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

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


相似考题
参考答案和解析
D
更多“设学生表和课程表的结构分别为(学号,姓名)和(学号,课程号,成绩),如果希望查询出“成绩大于90分的学生姓名”,则对应的SQL语句是()。”相关问题
  • 第1题:

    设有学生表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.课程号 ON S.学号=SC.学号


    正确答案:D
    解析:此题是一个联接查询,联接查询是一种基于多个关系的查询。在SQL查询语句中建立两表间的连接可使用JOIN关键字连接其左右两个表名>所指的表,JOIN为普通连接,在Visual FoxPro中称为内部连接,即只有满足连接条件的记录才出现在查询结果中。用ON子句指定连接条件:也可以一次性在WHERE子句中指定连接条件和筛选条件。格式如下:
      SELECT 目标列表达式>
      FROM[[表名1>|视图名1>][[INNE]
      JOIN 表名2>|视图名1>]...ON连接条件>]...
      FROM[[数据库名>]owner>{表名>|视图名>}
      [,[[数据库名>.]owner>{表名>|视图名>}...
      [WHERE条件表达式>]
      [GROUP BY列名1>
      [HAVING内部函数表达式>]]
      [ORDER BY列名2> {ASC/DESC}]
    所以A、B选项错误,如果先连接学生表S和学生选课表SC,会造成结果中有不符合要求的多余记录,所以C选项错误。

  • 第2题:

    设学生表 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. 课程号 ON S. 学号 =SC. 学号


    正确答案:D

  • 第3题:

    设有学生表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.学号


    正确答案:D
    D。【解析】连接查询中JOIN用来连接两个表,而ON是指定两表连接的关键字。

  • 第4题:

    检索还未确定成绩的学生选课信息,正确的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表示内链接,内链接是通过比较源表间共享的列的值从多个源表检索行的操作。内联接排除来自不具有与其它源表中的行匹配的行的源表的行。

  • 第5题:

    有一个student表(学生,姓名,系名,课程名,成绩),查询至少修了四门课程的学生

    学号,姓名以及平均成绩的 SQL语句。


    正确答案:
     

  • 第6题:

    第{TSE}题使用如下3个数据库表:

    学生表:S(学号,姓名,性别,出生日期,院系)

    课程表:C(课程号,课程名,学时)

    选课成绩表:SC(学号,课程号,成绩)

    在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。

    {TS}用SQL语句查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名,正确的命令是( )。


    正确答案:A

  • 第7题:

    检索还未确定成绩的学生选课信息,正确的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表示内链接,内链接是通过比较源表间共享的列的值从多个源表检索行的操作。内链接排除来自不具有与其他源表中的行匹配的行的源表的行。

  • 第8题:

    查询选修课程号为"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符合题意,将查询出正确结果,故为正确答案。

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

    单选题
    设学生表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.课程号ON S.学号=SC.学号


    正确答案: A
    解析:
    这是一个简单查询语句,用WHERE短语将三个表连接起来。JOIN为超连接查询。

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

    查询选修课程号为“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”科目成绩的记录,此查询将查询出错误的结果,此选项错误。

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

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

  • 第16题:

    设学生表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

  • 第17题:

    有如下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是谓词,用来检查在子查询中时候有结果返回。

  • 第18题:

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

    SELECT姓名FROM学生,成绩;

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

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

    AND姓名__;

    (SELECT姓名FROM学生,成绩;

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

    AND课程名称=”英语”)


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

  • 第19题:

    查询选修课程号为“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表示所有的结果。

  • 第20题:

    第 29~30 题使用如下3个数据库表:

    学生表:S(学号,姓名,性别,出生日期,院系)

    课程表:C(课程号,课程名,学时)

    选课成绩表:SC(学号,课程号,成绩)

    在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。

    第 29 题 用SQL语句查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名,正确的命令是( )。

    A)SELECT学号,姓名FROM S WHERE NOT EXISTS;

    (SELECT﹡FROM SC WHERE SC.学号=S.学号AND成绩<85)

    B)SELECT学号,姓名FROM S WHERE NOT EXISTS:

    (SELECT﹡FROM SC WHERE SC.学号=S.学号AND成绩>=85)

    C)SELECT学号,姓名FROM S,SC

    WHERE S.学号=SC.学号AND成绩>=85

    D)SELECT学号,姓名FROM S,SC

    WHERE S.学号=SC.学号AND ALL成绩>=85


    正确答案:A
    本题属于多表查询,使用联接查询或嵌套查询,选项C)和选项D)使用联接查询,使用时学号字段前要表明所属的表,写法都不完整;选项A)和选项B)中的EXISTS
    属于SQL查询谓词,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组,子查询要用圆括号括起来。选项A)中的子查询查询的是“SC”表中“学号”等于…S表中“学号”并且成绩小于85的数据,然后在外层查询中检索…S表中的“学号”是否存在于子查询的查询结果中,将不存在的“学号”显示其“学号”和“姓名”的信息。 

  • 第21题:

    若学生表中存储了学号、姓名、成绩等信息,则“查询学生表中所有学号和姓名”的SQL语句是( )。

    A.SELECT*FROM学生
    B.SELECT学号,姓名FROM学生
    C.SELECT学号姓名FROM学生
    D.SELECT学号、姓名FROM学生

    答案:B
    解析:

  • 第22题:

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

  • 第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")。