当前目录下有student和coure两个表文件,要求查找同时选修了课程号为"0001"和"0002"的学生姓名,语句为: SELECT 姓名 FROM student,coure; WHERE student.学号=coure.学号; AND 课程号="0001"; AND 姓名【 】; (SELECT 姓名 FROM student, coure; WHERE student.学号=coure.学号; AND 课程号="0002")

题目

当前目录下有student和coure两个表文件,要求查找同时选修了课程号为"0001"和"0002"的学生姓名,语句为: SELECT 姓名 FROM student,coure; WHERE student.学号=coure.学号; AND 课程号="0001"; AND 姓名【 】; (SELECT 姓名 FROM student, coure; WHERE student.学号=coure.学号; AND 课程号="0002")


相似考题
更多“当前目录下有student和coure两个表文件,要求查找同时选修了课程号为"0001"和"0002"的学生姓名,语句为: SELECT 姓名 FROM student,coure; WHERE student.学号=coure.学号; AND 课程号="0001"; AND 姓名【 】; (SELECT 姓名 FROM student, coure; WHERE student.学号=coure.学号; AND 课程号="0002")”相关问题
  • 第1题:

    当前目录下有XUESH.dbf和CHJI.dbf两个表文件,要求查找同时选修了课程号为“9801”和“9802”的学生姓名,下列SQL语句的空白处应填入的语句为( )。

    SELECT 姓名 FROM XUESH,CHJI; WHERE XUESH.学号=CHJI.学号; AND 课程号="9801"; AND 姓名______(SELECT 姓名 FROM XUESH,CHJI; WHERE XUESH.学号=CHJI.学号; AND 课程号="9802")

    A.IN

    B.EXITS

    C.LIKE

    D.ALL


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

  • 第2题:

    要求选出学生中平均成绩最高的人的学号,姓名和平均分,下列语句中正确的是_____

    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


    参考答案C

  • 第3题:

    设学生表和课程表的结构分别为(学号,姓名)和(学号,课程号,成绩),如果希望查询出“成绩大于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

  • 第4题:

    查询选修C2课程号的学生姓名,下列SQL语句中错误的是 ______。

    A.SELECT 姓名 FROM S WHERE EXISTS (SELECT*FROM SC WHERE 学号=S.学号 AND 课程号='C2')

    B.SELECT 姓名 FROM S WHERE 学号 IN (SELECT 学号 FROM SC WHERE 课程号='C2')

    C.SELECT 姓名 FROM S JOIN SC ON S.学号=SC.学号 WHERE 课程号='C2'

    D.SELECT 姓名 FROM S WHERE 学号= (SELECT 学号 FROM SC WHERE 课程号='C2')


    正确答案:D
    解析:要求查询选修C2课程号的学生的姓名,姓名字段在S表中,而课程号在SC表中,可知查询的结果来自一张表,而条件来自另一张表,所以这里可以用简单的连接查询或者用嵌套查询。
      选项A使用谓语EXISTS进行查询,EXISTS或NOT EXISTS是用来检查在子查洵中是否有结果返回(即存在元组或不存在元组)。选项A先查询出SC表中选修了C2课程的所有信息,并指定SC表和S表通过学号公共字段建立联系,接着查询出姓名字段所对应的值,这种查询是可以达到目的的。
      选项B是一个嵌套查询,首先在SC表中查出选修了C2课程的学生的学号,接着找出这些学号在S表中所对应的学生的姓名,从而查询出选修了C2课程的学生的姓名。
      选项C是一个连接查询,SC表和S表首先通过学号字段建立连接,再找出选修了C2课程的学生的姓名。
      选项D中先找出选修了C2课程的学生的学号,因为选修C2课程的学生可能不止一个,因此不能直接用“=”号,而应该用“IN",IN相当于集合运算符∈,所以选项D是错误的。

  • 第5题:

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

  • 第6题:

    查询所修课程成绩都大于等于85分的学生的学号和姓名,正确的命令是( )。

    A.SELECT学号,姓名FROM student s WHERE NOT EXISTS (SELECT*FROM score se WHERE SC.学号=s.学号码AND成绩<85) from="" student="" s="" where="" not="" exists="" score="" sc="">=85)

    C.SELECT学号,姓名FROM student s,score sc WHERE s.学号=sc.学号AND成绩>=85

    D.SELECT学号,姓名FROM student s,score sc WHERE S.学号=sc.学号AND ALL成绩>=85


    正确答案:B
    B。【解析】由题可得,所查询的成绩是大于等于85分的学生的学号和姓名,其中成绩和学号、姓名不在一个表内,所以要用嵌套查询。而其中的成绩是大于等于85分,所以答案选择B。

  • 第7题:

    设有以下3个表: 学生表STUD(学号,姓名,性别,年龄,专业) 课程表KC(课程号,课程名,选修课号,学分) 学生选课表SC(学号,课程号,成绩) 查询选修了课程名为“数据结构”的学生的姓名的SELECT语句是______。

    A.SELECT 姓名 FROM STUD; WHERE学号SELECT学号FROM SC WHERE 课程号IN; (SELECT课程号FROM KC WHERE 课程名=“数据结构”)

    B.SELECT姓名FROM STUD; WHERE学号IN(SELECT学号FROM SC WHERE 课程号UNION; (SELECT 课程号 FROM KC WHERE 课程名=“数据结构”))

    C.SELECT 姓名 FROM STUD; WHERESELECT课程号FROMKCWHERE课程名=“数据结构”

    D.SELECT姓名FROM STUD; WHERE 学号 IN(SELECT 学号 FROM SC WHERE 课程号 IN; (SELECT课程号FROM KC WHERE 课程名=“数据结构”))


    正确答案:D
    解析:要实现本题的查询要求,需使用嵌套查询。嵌套查询又称为子查询,它可以把一个SELECT-FROM-WHERE查询块嵌入在另一个查询块中。嵌套查询是由内向外进行的。在嵌套查询中,常用谓词IN引导子查询。选项A、B、C的语句不符合嵌套查询的语法结构,只有选项D正确。

  • 第8题:

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

    SELECT姓名FROM学生,成绩;

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

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

    AND姓名__;

    (SELECT姓名FROM学生,成绩;

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

    AND课程名称=”英语”)


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

  • 第9题:

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

  • 第10题:

    设有s(学号,姓名,性别)和sc(学号,课程号,成绩)两个表,下面SQL的SELECT语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别。

    SELECT学号,姓名,性别FROM s WHERE__________(SELECT木FROM sc WHERE sc.学号=s.学号AND成绩<85)


    正确答案:
    NOTEXISTS
    查询操作使用SELECT命令,本题是联接查询和嵌套查询的结合使用,内层查询是将s表和SC表通过学号联接起来,查询的结果是所有至少有一门成绩低于85分信息的集合,外层查询S表中不在内层查询结果中出现的学号、姓名和单位,在WHERE条件短语中要用NOT EXISTS谓词。EXISTS是谓词,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。&

  • 第11题:

    查询选修 C2 课程号的学生姓名,下列 SQL 语句中错误是

    A)SELECT 姓名 FROM S WHERE EXISTS (SELECT * FROM SC WHERE 学号 =S. 学号 AND 课程号='C2')

    B)SELECT 姓名 FROM S WHERE 学号 IN (SELECT 学号 FROM SC WHERE 课程号 ='C2')

    C)SELECT 姓名 FROM S JOIN SC ON S. 学号 =SC. 学号 WHERE 课程号 ='C2'

    D)SELECT 姓名 FROM S WHERE 学号 = (SELECT 学号 FROM SC WHERE 课程号 ='C2')


    正确答案:D

  • 第12题:

    单选题
    查询选修C2课程号的学生姓名,下列SQL语句中错误的是(  )。
    A


    SELECT姓名FROM S WHERE EXISTS
    (SELECT*FROM SC WHERE学号=S.学号AND课程号=‘C2’)

    B


    SELECT姓名FROM S WHERE学号IN
    (SELECT学号FROM SC WHERE课程号=‘C2’)

    C

    SELECT姓名FROM S JOIN SC ON S.学号=SC.学号WHERE课程号=‘C2’

    D


    SELECT姓名FROM S WHERE学号=
    (SELECT学号FROM SC WHERE课程号=‘C2’)


    正确答案: C
    解析:
    根据题目要求,输出的是这些学号对应的学生姓名。WHERE子句说明查询条件,即选择元组的条件。“SELECT学号FROM SC WHERE课程号=‘C2’”语句的执行结果是查找选修C2课程号的所有学生学号。

  • 第13题:

    创建一个名为RS的视图,用来显示所有学生的学号,姓名和平均成绩,下面正确的语句是__

    A SELECT STUDENT.学号,STUDENT.姓名,SKB.平均成绩 WHERE STUDENT.学号 = SKB.学号 GROUP BY STUDENT.学号 INTO CURSOR RS

    B CREATE VIEW RS AS SELECT STUDENT.学号,STUDENT.姓名,SKB.平均成绩 WHERE STUDENT.学号 = SKB.学号 GROUP BY STUDENT. 学号

    C SELECT STUDENT.学号,STUDENT.姓名,SKB 平均成绩 WHERE STUDENT.学号 = SKB.学号 GROUP BY STUDENT.学号 INTO CURSOR RS

    D CREATE VIEW RS AS SELECT STUDENT.学号,STUDENT.姓名,AVG(SKB.成绩) AS 平均成绩 WHERE STUDENT.学号 = SKB.学 号 GROUP BY STUDENT.学号


    参考答案D

  • 第14题:

    查询所修课程成绩都大于等于85分的学生的学号和姓名,正确的命令是( )。

    A.SELECT学号,姓名FROM student s WHERE NOT EXISTS (SELECT*FROM score se WHERE SC.学号=s.学号码AND成绩<85)

    B.SELECT学号,姓名FROM student S WHERE NOT EXISTS (SELECT*FROM score sc WHERE SC.学号=s.学号码AND成绩>=85)

    C.SELECT学号,姓名FROM student s,score sc WHERE s.学号=sc.学号AND成绩>=85

    D.SELECT学号,姓名FROM student s,score sc WHERE S.学号=sc.学号AND ALL成绩>=85


    正确答案:B
    B。【解析】由题可得,所查询的成绩是大于等于85分的学生的学号和姓名,其中成绩和学号、姓名不在一个表内,所以要用嵌套查询。而其中的成绩是大于等于85分,所以答案选择B。

  • 第15题:

    当前目录下有student和conic两个表文件,要求查找同时选修了课程号为“0001”和“0002”的学生姓名,语句为:

    SELECT 姓名 FROM student,coure;

    WHERE student.学号=coure.学号;

    AND 课程号="0001";

    AND 姓名【 】 ;

    (SELECT 姓名 FROM student,coure;

    WHERE student.学号=coure.学号;

    AND 课程号="0002")


    正确答案:IN
    IN 解析:本小题为SQL的嵌套查询,通过内层查找符合条件的记录集合,在通过外层查询检索该集合中相同的记录值,使用的特殊运算符为IN(包含运算)。掌握SQL嵌套查询、多表联接查询及特殊谓词查询语句的格式及功能。

  • 第16题:

    查询选修C2课程号的学生姓名,下列SQL,语句中错误的是( )。

    A.SELECT姓名FROM S WHERE EXISTS (SELECT*FROM SC WHERE学号=S.学号AND 课程号=’C2’)

    B.SELECT姓名 FROM S WHERE学号IN (SELECT学号FROM SC WHERE课程号=’C2 ’)

    C.SELECT姓名FROM S JOIN SC ON S.学号=SC. 学号WHERE课程号=’C2’

    D.SELECT姓名FROM S WHERE学号= (SELECT学号FRM SC WHERE课程号=’C2’)


    正确答案:D
    D。【解析】选项D中的内查询SELECT学号FROMSCWHERE课程号=”C2”的查询结果有可能为多个,而选项D中的外层查询WHERE子句后面的逻辑表达式使用“=”,这样会导致产生错误的结果。

  • 第17题:

    基于学生表S和学生选课表SC两个数据库表,它们的结构如下: S(学号,姓名,性别,年龄),其中学号、姓名和性别为C型字段,年龄为N型字段; SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段。 查询同时选修课程号分别为2001和2005课程的学生的学号,正确的命令是( )。

    A. SELECT学号FROM SC WHERE课程号='2001'AND学号IN(SELECT学号FROM SC WHERE课程号='2005’)

    B. SELECT学号FROM SC WHERE课程号='2001'AND学号=(SELECT学号FROM SC WHERE课程号='2005’)

    C. SELECT学号FROM SC WHERE课程号='2001'AND课程号='2005'

    D. SELECT学号FROM SC WHERE课程号='2001'OR'2005'


    正确答案:A
    嵌套查询所要求的结果出自一个关系,但相关的条件却涉及多个关系。其内层基本上也是一个SE. LECT—FROM—WHERE查询语句。简单嵌套查询可使用谓词IN或NOT IN来判断外层的查询条件中是否包含内层查询的结果。本题要查询同时选修2001和2005号课程的学生的学号,外层查询包含了内层查询的结果。故本题答案为A。

  • 第18题:

    设有以下3个表: 学生表 STUD (学号,姓名,性别,年龄,专业) 课程表 KC (课程号,课程名,先修课号,学分) 学生选课表 SC (学号,课程号,成绩) 查询选修了课程名为“数据结构”的学生姓名的SELECT语句是______。

    A.SELECT 姓名 FROM STUD; WHERE 学号 SELECT 学号 FROM SC WHERE课程号 IN; (SELECT 课程号 FROM KC WHERE 课程名="数据结构")

    B.SELECT 姓名 FROM STUD; WHERE 学号 in (SELECT 学号 FROM SC WHERE 课程号 UNION; (SELECT 课程号 FROM KC WHERE课程名="数据结构"))

    C.SELECT 姓名 FROM STUD; WHERE SELECT 课程号 FROM KC WHERE课程名="数据结构"

    D.SELECT 姓名 FROM STUD; WHERE 学号 IN(SELECT 学号 FROM SC WHERE 课程号 IN; (SELECT 课程号 FROM KC WHERE 课程名="数据结构"))


    正确答案:D

  • 第19题:

    学生表: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院系=‘计算机系’


    正确答案:C

  • 第20题:

    根据以下资料,回答下列各题: 使用如下三个数据库表: 学生表:student(学号,姓名,性别,出生日期,院系) 课程表:course(课程号,课程名,学时) 选课成绩表:score(学号,课程号,成绩) 其中出生日期的数据类型为日期型,学时和成绩为数值型,其他均为字符型。 查询“计算机系”学生的学号、姓名、学生所选课程名和成绩,正确的命令是( )。

    A.SELECT s.学号,姓名,课程名,成绩 FROM student s,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院系="计算机系"


    正确答案:B
    B。【解析】由题所知,所查询的是计算机系所选课程的学生的学号、姓名、课程名和成绩,其中涉及三个表,所以条件为s.学号=sc.学号ANDsc.课程号=c.课程号AND院系=”计算机系”。所以答案选择B。

  • 第21题:

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

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

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