第 (31) 到第 (35) 题基于学生表 S 和学生选课表 SC 两个数据库表,它们的结构如下:S( 学号,姓名,性别,年龄 ) 其中学号、姓名和性别为 C 型字段,年龄为 N 型字段。SC( 学号,课程号,成绩 ) ,其中学号和课程号为 C 型字段,成绩为 N 型字段 ( 初始为空值 )(31) 查询学生选修课程成绩小于 60 分的学号,正确的 SQL 语句是A)SELECT DISTINCT 学号 FROM SC WHERE " 成绩 " < 60B)SELECT DISTINCT 学号 FROM

题目

第 (31) 到第 (35) 题基于学生表 S 和学生选课表 SC 两个数据库表,它们的结构如下:

S( 学号,姓名,性别,年龄 ) 其中学号、姓名和性别为 C 型字段,年龄为 N 型字段。

SC( 学号,课程号,成绩 ) ,其中学号和课程号为 C 型字段,成绩为 N 型字段 ( 初始为空值 )

(31) 查询学生选修课程成绩小于 60 分的学号,正确的 SQL 语句是

A)SELECT DISTINCT 学号 FROM SC WHERE " 成绩 " < 60

B)SELECT DISTINCT 学号 FROM SC WHERE 成绩 < " 60 "

C)SELECT DISTINCT 学号 FROM SC WHERE 成绩 < 60

D)SELECT DISTINCT " 学号 " FROM SC WHERE " 成绩 " < 60


相似考题
更多“第 (31) 到第 (35) 题基于学生表 S 和学生选课表 SC 两个数据库表,它们的结构如下:S( 学号,姓名, ”相关问题
  • 第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 ( 学号,姓名,性别 ) 和 SC ( 学号,课程号,成绩 ) 两个表,如下 SQL 语句检索选修的每门课程的成绩都高于或等于 85 分的学生的学号、姓名和性别,正确的是

    A)SELECT 学号 , 姓名 , 性别 FROM s WHERE 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 学号 , 姓名 , 性别 FRO M s WHERE EXISTS

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

    D)SELECT 学号 , 姓名 , 性别 FROM s WHERE NOT EXISTS

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


    正确答案:D

  • 第3题:

    已知三个数据库表:学生表S、课程表C和学生选课表SC,结构如下:S(S,SN,SEX,AGE,DEPT)C(C,CN)SC(S,C,GRADE)其中S为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C为课程号,CN为课程名,GRADE为成绩请写出完成以下任务需要的SQL语句:检索学生姓名及其所修课程的课程号和成绩。


    答:SELECT S.SN, SC.C#,SC.GRADE
    FROM S,SC
    WHERE S.S#=SC.S#

  • 第4题:

    已知三个数据库表:学生表S、课程表C和学生选课表SC,结构如下:S(S,SN,SEX,AGE,DEPT)C(C,CN)SC(S,C,GRADE)其中S为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C为课程号,CN为课程名,GRADE为成绩请写出完成以下任务需要的SQL语句:检索选修课程'C2'的学生中成绩最高的学生的学号。


    答:SELECT S#
    FROM SC
    WHERE C#='C2' AND GRAGE >=ALL(SELECT GRADE
    FROM SC
    WHERE C#='C2')

  • 第5题:

    一下5题基于学生表S和学生选课表SC两个数据库表,它们的结构如下:

    S(学号,姓名,性别,年龄)其中学号、姓名和性别为C型字段,年龄为N型字段。

    SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段(初始为空值)。

    查询学生选修课程成绩小于60分的学号,正确的SQL语句是 ______。

    A.SELECT DISTINCT 学号 FROM SC WHERE"成绩"<60

    B.SELECT DISTINCT 学号 FROM SC WHERE成绩<"60"

    C.SELECT DISTINCT 学号 FROM SC WHERE成绩<60

    D.SELECT DISTINCT"学号"FROM SC WHERE"成绩"<60


    正确答案:C
    解析:题意要求查询学生选修课程成绩小于60分的学号,要查询的字段是学号字段,条件是成绩字段的值小于60分,学号和成绩字段在SC表中,所以查询应基于SC表进行,字段即字段变量是变量名,不需要加双引号,所以排除A、D选项。成绩字段为N型字段,即为数值型数据,不需要加任何的定界符。所以选项B也是不正确的,正确的SQL语句是SELECT DISTINCT 学号 FROM SC WHERE 成绩60,即选项C。

  • 第6题:

    若要查询选修课(学号、课程号、成绩)成绩在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

  • 第7题:

    基于学生表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。

  • 第8题:

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

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

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

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

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

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


    正确答案:A

  • 第9题:

    以下2题使用如下三个数据库表学生表:S(学号,姓名,性别,出生日期,院系) 课程表:C(课程号,课程名,学时) 选课成绩表:SC(学号,课程号,成绩) 在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。

    用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 ALL成绩>=85

    D.SELECT学号,姓名 FROM S,SC; WHERE S.学号=SC.学号AND ALL成绩>=85


    正确答案:A
    解析:EXISTS是谓词,EXISTS或NOTEXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。其本身并没有进行任何运算或比较,只用来返回子查询结果。选项B)和c)返回的结果都是只要有任意一门选修课程成绩大于等于85的学生学号和姓名,而本题要求返回的是所有选修课程大于等于85的学生学号和姓名,选项D)中的ALL短语无实际意义。

  • 第10题:

    设学生表S、课程表C和学生选课表SC的结构如下;S(学号,姓名,年龄,系别)C(课程号,课程名)SC(学号,课程号,成绩)查询学生姓名及所选修课程的课程号和成绩,实现此功能的SELECT语句是______。

    A.SELECTS.姓名,SC.课程号,SC.成绩FROMSWHERES.学号=SC.学号

    B.SELECTS.姓名,SC.课程号,SC.成绩FROMSCWHERES.学号=SC.成绩

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

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


    正确答案:C
    解析:根据题目要求可以分析:本查询涉及到学生表S和学生选课表SC,同时需要满足查询条件“S.学号=SC.学号”,所以只有使用选项C的语句,才能实现查询学生姓名及其所选修课程的课程号和成绩。

  • 第11题:

    基于“学生—选课—课程”数据库中有三个表:学生表(s)包含字段学号(S#)、姓名(sname)、性别(sex)、年龄(age);选课表(SC)包含字段课程号(c#)、学号(S#)、成绩(GRADE);课程表(c)包含字段课程号(C#)、课程名(cname)、教师(teacher)。现要将学生的学号及其平均成绩定义为一个视图,在定义该视图是,所有的SELECT语句将出现()子句。

    • A、from
    • B、orderby
    • C、groupby
    • D、where

    正确答案:A,C

  • 第12题:

    单选题
    设学生表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为超连接查询。

  • 第13题:

    第( 35 ) - ( 36 )题基于 “ 学生 - 选课 - 课程 ” 数据库中的三个关系:

    S ( S# , SNAME , SEX , AGE ) , SC ( S# , C# , GRADE ) , C ( C# , CNAME , TEACHER ) 它们的主键用下划线标出。

    ( 35 )定义一个反映学生姓名及他的平均成绩的视图将使用关系

    A) S 和 C

    B) SC 和 C

    C) S 和 SC

    D) S 、 SC 和 C


    正确答案:C

  • 第14题:

    设有学生表S(学号,姓名,班级)和学生选课表SC(学号,课程号,成绩),为维护数据一致性,表S与SC之间应满足()完整性约束。


    参考答案:外键

  • 第15题:

    已知学生表S、学生选课表SC,结构如下: S(S#,SN,SD,PROV) SC(S#,CN,GR) 其中S#为学号,SN为姓名,SD为系别,PROV为省区,CN为课程名,GR为成绩 请写出完成以下任务需要的SQL语句:1)查询'信息系'的学生来自哪些省区。2)按分数降序排序,输出'英语系'学生中选修了'计算机'课程的学生的姓名和成绩。


    答:1) SELECT DISTINCT PROV
    FROM S
    WHERE SD = '信息系'
    2) SELECT SN, GR
    FROM S,SC
    WHERE SD = '英语系' AND CN='计算机' AND S.S#= SC.S#
    ORDER BY DESC

  • 第16题:

    若要查询选修课(学号、课程号、成绩)成绩在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个选项中的表连接条件都是相同的,也是正确的,不同之处是连接条件和筛选条件之间的逻辑运算符的使用,在语句中只要使用了逻辑运算符OR就都不符合题意要求,正确答案应为选项D。

  • 第17题:

    第下列各题基于学生表s和学生选课表SC两个数据库表,它们的结构如下: s(学号,姓名,性别,年龄),其中学号、姓名和性别为C型字段,年龄为N型字段。 SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段(初始为空值)。 查询学生选修课程成绩小于60分的学号,正确的SQL语句是( )。

    A.SELECT DISTINCT学号FROM SC WHERE”成绩”<60

    B.SELECT DISTINCT学号FROM SC WHERE成绩 <”60”

    C.SELECT DISTINCT学号FROM SC WHERE成绩 <6。

    D.SELECT DISTINCT”学号”FROM SC WttERE”成绩”<60


    正确答案:C
    C。【解析】由于SC表中的“成绩”字段的数据类型为N型字段,所以WHERE子句中的关于成绩的逻辑表达式不需要用双引号。根据SQLSELECT语句的语法,选择的字段也不需要用双引号。

  • 第18题:

    回答下列各题: 基于学生表S和学生选课表SC两个数据库表,它们的结构如下: S(学号,姓名,性别,年龄),其中学号、姓名和性别为C型字段,年龄为N型字段; SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段。 {TS}查询学生选修课程成绩75分以上的学生学号,正确的SQL语句是( )。

    A. SELECT DISTINCT学号FROM SC WHERE”成绩”>75

    B. SELECT DISTINCT学号FROM SC WHERE成绩>75

    C. SELECT DISTINCT学号FROM SC WHERE成绩>”75”

    D. SELECT DISTINCT”学号”FROM SC WHERE”成绩”>75


    正确答案:B
    在WHERE条件中成绩不需要用引号括起来,因此A和D排除,成绩是数值型字段,因此750也不需要加双引号,故选项C也错误。

  • 第19题:

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

  • 第20题:

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

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

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

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

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

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


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

  • 第21题:

    回答下列各题:基于学生表S和学生选课表SC两个数据库表,它们的结构如下: S(学号,姓名,性别,年龄),其中学号、姓名和性别为C型字段,年龄为N型字段。 SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段(初始为空值)。 查询学生选修课程成绩小于60分的学号,正确的SQL语句是( )。

    A.SELECT DISTINCT学号FROM SC WHERE"成绩"<60

    B.SELECT DISTINCT学号FROM SC WHERE成绩<"60"

    C.SELECT DISTINCT学号FROM SC WHERE成绩<60

    D.SELECT DISTINCT"学号"FROM SC WHERE"成绩"<60


    正确答案:C
    C。【解析】由于SC表中的“成绩”字段的数据类型为N型字段,所以WHERE子句中的关于成绩的逻辑表达式不需要用双引号。根据SQLSELCT语句的语法,选择的字段也不需要用双引号。

  • 第22题:

    第 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表中的“学号”是否存在于子查询的查询结果中,将不存在的“学号”显示其“学号”和“姓名”的信息。 

  • 第23题:

    学生表S、课程表C和学生选课表SC,它们的结构如下:S(S_NO,SN,SEX,AGE,DEPT) C(C_NO,CN) SC(S_NO,C_NO,GRADE)其中:S_NO为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C_NO为课程号,CN为课程名,GRADE为成绩检索所有比“王华”年龄大的学生姓名、年龄和性别正确的SELECT语句是()

    • A、SELECTSN,AGE, SEX FROM SWHERE AGE>(SELECTAGE FROM S WHERE SN=’王华’)
    • B、SELECTSN,AGE, SEX FROM S
    • C、SELECTSN,AGE,SEX FROM S
    • D、SELECTSN,AGE,SEXFROMS

    正确答案:A