niusouti.com

若查询只选了一门课程的学生号、学生姓名和成绩,则语法: SELECT A.学生号,A.学生姓名,B.成绩FROM学生A,选课B; WHERE A.学生号【 】(SELECT 学生号 FROM选课; GROUP BY【 】HVING【 】

题目

若查询只选了一门课程的学生号、学生姓名和成绩,则语法: SELECT A.学生号,A.学生姓名,B.成绩FROM学生A,选课B; WHERE A.学生号【 】(SELECT 学生号 FROM选课; GROUP BY【 】HVING【 】


相似考题
更多“若查询只选了一门课程的学生号、学生姓名和成绩,则语法: SELECT A.学生号,A.学生姓名,B.成绩FROM学生A,选课B; WHERE A.学生号【 】(SELECT 学生号 FROM选课; GROUP BY【 】HVING【 】”相关问题
  • 第1题:

    若要在表“学生”和“选课”中查找001号学生的成绩,下列语句正确是( )。

    A.SELECT 学生号,姓名,成绩 FROM 学生 JOIN 选课; WHERE 学生号=001:

    B.SELECT 学生号,姓名,成绩 FROM 学生 JOIN 选课; WHERE 学生号=001; ON学生.学生号=选课.学生号

    C.SELECT 学生号,姓名,成绩 FROM 学生 JOIN 选课; ON学生.学生号=选课.学生号; WHERE 学生号=001

    D. SELECT 学生号,姓名,成绩 FROM 学生 JOIN 选课; WHERE 学生.学生号=选课.学生号


    正确答案:C
    解析:在超级联接查询中,SELECT列出查询的属性,FROM后列出查询类型,ON短语列出联接查询条件,WHERE后是查询条件。ON短语要紧跟在JOIN短语的后面,WHERE短语置于ON短语后面。

  • 第2题:

    查询选修“KC1”的学生中成绩最高的学生的学号,下列语句正确的是( )。

    A.SELECT 学生号 FROM 选课: MHERE 课程号=“KC1”AND 成绩>=; (SELECT 成绩 FROM 选课; WHERE 课程号=“KC1”)

    B.SELECT 学生号 FROM 选课; WHERE 课程号=“KC1”AND 成绩IN; (SELECT 成绩 FROM 选课; WHERE 课程号=“KC1”)

    C.SELECT 学生号 FROM 选课: WHERE 课程号=“KC1”AND 成绩>=ALL: (SELECT 成绩 FROM 选课; WHERE 课程号=“KC1”)

    D.SELECT 学生号 FROM 选课; WHERE 课程号=“KC1”AND 成绩 IN; (SELECT 成绩 FROM 选课)


    正确答案:C
    解析:本题是嵌套循环查循,内层查询的结果是选修“KC1”课程号同学的成绩的集合。外层查询结果中的成绩应该大于内层查询结果成绩集合中的所有值,使用ALL运算,而IN是表示外层查询结果中的成绩属于内层查询结果成绩集合中的结果。

  • 第3题:

    若要查询选修课(学号、课程号、成绩)成绩在80分以上的女生姓名,应使用的SELECT语句是______。

    A.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.OR.性别="女".AND.成绩>=80

    B.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.AND.性别:"女".OR.成绩>=80

    C.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.OR.性别="女".OR.成绩>=80

    D.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.AND.性别:"女".AND.成绩>=80


    正确答案:D

  • 第4题:

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

  • 第5题:

    设某数据库中有学生表(学号,姓名,所在系)和选课表(学号,课程号,成绩)。现要查询没选课的学生姓名和所在系。下列语句中能够实现该查询要求的是( )。

    A.SELECT姓名,所在系FROM学生表a LEFT JOIN选课表bON a.学号=b.学号WHERE a.学号IS NULL

    B.SELECT姓名,所在系FROM学生表a LEFT JOIN选课表bON a.学号=b.学号WHERE b.学号IS NULL

    C.SELECT姓名,所在系FROM学生表a RIGHT JOIN选课表bON a.学号=b.学号WHERE a.学号IS NULL

    D.SELECT姓名,所在系FROM学生表a RIGHT JOIN选课表bON a.学号=b.学号WHERE b.学号IS NULL


    正确答案:B
    从数据库中查出没有选课的学生姓名和所在系,则在学生表中查出选课表中没有的学生即可。在这里采用LEFTJOIN来连接查询。并且要求选课表中的学生学号为NULL。

  • 第6题:

    设有以下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

  • 第7题:

    第下列各题使用如下数据表。 学生.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函数求得指定字段的平均值。

  • 第8题:

    已知基本表:学生(学号,姓名,性别,年龄,系名)

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

    要检索所有比“王华”年龄大的学生姓名、年龄和性别,正确的语句是(25),要检索学生姓名及其所选修课程的课程号和成绩,正确的语句是(26)。

    A.SELECT姓名,年龄,性别 FROM学生 WHERE AGE>(SELECT年龄 FROM学生 WHERE姓名=“王华”)

    B.SELECT姓名,年龄,性别 FROM学生 WHERE姓名:“王华”

    C.SELECT姓名,年龄,性别 FROM学生 WHERE AGE>(SELECT年龄 WHERE姓名=“王华”)

    D.SELECT姓名,年龄,性别 FROM学生 WHERE AGE>“王华”


    正确答案:A

  • 第9题:

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

  • 第10题:

    ( 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

  • 第11题:

    假定在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义如下所示:         学生(学生号char(7),姓名char(8),性别char(2),专业char(10),年级int)         课程(课程号char(4),课程名char(10),课程学分int)         选课(学生号char(7),课程号char(4),成绩int) 在下面查询语句执行时,显示出的学生记录表示()。 select* from学生 where学生号 not in(select 学生号 from选课)

    • A、有选修课程
    • B、只有一门选修课程
    • C、没有选修课程
    • D、有一门或两门选修课程

    正确答案:C

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

    若需在“选课”表中按降序排列查询前3名的学生,下列语法正确的是( )。

    A.SELECT 学生号,成绩 TOP 3 FROM 选课; ORDER BY 成绩 DESC

    B. SELECT 学生号,成绩 TOP 3 PERCENT FROM 选课: ORDER BY 成绩 DESC

    C.SELECT 学生号,成绩 TOP 3 FROM 选课 DESC:

    D. SELECT 学生号,成绩 TOP 3 PERCENT FROM 选课 DESC


    正确答案:A
    解析:SQL命令可以显示部分结果,使用TOP子句。在符合查询条件的所有记录中,选取指定数量或百分比的记录。选项C、D没有与ORDER BY同时使用;选项B使用了PERCENT短语,查询的是排名前3%的学生。

  • 第14题:

    在学生表中查找没有选课的学生,下列语句正确的是( )。

    A.SELECT*FROM 学生 WHERE EXISTS; (SELECT*FROM 选课 WHERE学生号=学生.学生号)

    B.SELECT*FROM 学生 WHERE NOT EXISTS; (SELECT*FROM 选课 WHERE 学生号=学生.学生号)

    C.SELECT*FROM 学生 WHERE EXISTS; (SELECT*FROM 选课 WHERE 学生号=学生号)

    D. SELECT*FROM 学生 WHERE NOT EXISTS; (SELECT*FROM 选课 WHERE 学生号=学生号)


    正确答案:B
    解析:本题是嵌套循环查循,在外层中使用了谓词EXISTS。依据题意,在子查询中有结果返回,应该用EXISTS谓词。内层查询引用了外层查询的表,所以在WHERE短语的学生号中使用关系名,即学生.学生号。

  • 第15题:

    学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D))选课(学号(C,8),课程号(C,3),成绩(N,5,1)) 假定学号的第3、4位为专业代码。要计算各专业学生选修课程号为“007"课程的平均成绩,正确的SQL语句是( )。

    A. SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课WHERE课程号=”007” GROUP BY专业

    B. SELECT SUBS(学号,3,2)AS专业,AVG(成绩)As平均分FROM选课WHERE课程号=”007” GROUP BY 1

    C. SELECT SUBS(学号,3,2)AS专业,AVG(成绩)As平均分FROM选课WHERE课程号=”007”OR—DER BY专业

    D. SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课WHERE课程号=”007”OR—DER RY 1


    正确答案:B
    根据题目要求,要把不同专业的学生进行分组并求平均成绩,所以要用到短语GROUP BY,在SE.LECT语句中,目标字段放在As之后,“1”表示第一个字段。

  • 第16题:

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

  • 第17题:

    设有学生选课表:SC(学号,课程号,成绩),要求在该表中查询缺少学习成绩的学生学号和课程号,实现此查询要求的SELECT语句是______。

    A.SELECT 学号,课程号 FROM SC WHERE 成绩 IS NULL

    B.SELECT 学号,课程号 FROM SC WHERE 成绩 IS NOT NULL

    C.SELECT 学号,课程号 FROM SC WHERE 成绩=NOT NULL

    D.SELECT 学号,课程号 FROM SC WHERE 成绩=NULL


    正确答案:A

  • 第18题:

    查询有选课记录,但没有考试成绩的学生的学号和课程号,正确的sQL语句是( )。

    A.SELECT学号,课程号FROM SC WHERE 成绩

    B.SELECT学号,课程号FROM SC WHERE 成绩 =NULL

    C.SELECT学号,课程号FROM SC WHERE成绩ls NULL

    D.SELECT学号课程号FROM SC WHERE成绩


    正确答案:C
    C。【解析】查询空值时要使用ISNULL,而“=NULL”是无效的,因为空值不是一个确定的值,所以不能用“=”这样的运算符进行比较。

  • 第19题:

    设有以下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正确。

  • 第20题:

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

  • 第21题:

    ( 31 )计算刘明同学选修的所有课程的平均成绩,正确的 SQL 语句是

    A) SELECT AVG( 成绩 ) FROM 选课 WHERE 姓名 =" 刘明 "

    B) SELECT AVG( 成绩 ) FROM 学生 , 选课 WHERE 姓名 =" 刘明 "

    C) SELECT AVG( 成绩 ) FROM 学生 , 选课 WHERE 学生 . 姓名 =" 刘明 "

    D) SELECT AVG( 成绩 ) FROM 学生 , 选课 WHERE 学生 . 学号 = 选课 . 学号 AND 姓名 =" 刘明 "


    正确答案:D

  • 第22题:

    查询有选课记录,但没有考试成绩的学生的学号和课程号,正确的 SQL 语句是

    A)SELECT 学号 , 课程号 FROM sc WHERE 成绩 = ""

    B)SELECT 学号 , 课程号 FROM sc WHERE 成绩 = NULL

    C)SELECT 学号 , 课程号 FROM sc WHERE 成绩 IS NULL

    D)SELECT 学号 , 课程号 FROM sc WHERE 成绩


    正确答案:C

  • 第23题:

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


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