单选题现有学生表和修课表,其结构为:  学生表(学号,姓名,入学日期,毕业日期)  修课表(学号,课程号,考试日期,成绩)  现要求修课表中的考试日期必须在学生表中相应学生的入学日期和毕业日期之间。下列实现方法中,正确的是()。A 在修课表的考试日期列上定义一个CHECK约束B 在修课表上建立一个插入和更新操作的触发器C 在学生表上建立一个插入和更新操作的触发器D 在修课表的考试日期列上定义一个外键引用约束

题目
单选题
现有学生表和修课表,其结构为:  学生表(学号,姓名,入学日期,毕业日期)  修课表(学号,课程号,考试日期,成绩)  现要求修课表中的考试日期必须在学生表中相应学生的入学日期和毕业日期之间。下列实现方法中,正确的是()。
A

在修课表的考试日期列上定义一个CHECK约束

B

在修课表上建立一个插入和更新操作的触发器

C

在学生表上建立一个插入和更新操作的触发器

D

在修课表的考试日期列上定义一个外键引用约束


相似考题
参考答案和解析
正确答案: D
解析: 暂无解析
更多“现有学生表和修课表,其结构为:  学生表(学号,姓名,入学日期,毕业日期)  修课表(学号,课程号,考试日期,成绩) ”相关问题
  • 第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题:

    基于数据库中的学生表、成绩表、任课表:

    学生(学号,姓名,性别,出生日期,系名)

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

    任课(课程名,任课教师名)

    用SQL语言中的CREATE语句创建一个含有学号、姓名、性别、系名、课程名、成绩、任课教师名的学生成绩视图.


    正确答案:
    CREATEVIEW学生成绩ASSELECT学生.学号,学生,姓名,学生,性别,学生,系名,成绩,成
    绩,成绩.课程名,任课.任课教师名
    FROM学生,成绩,任课
    WHERE学生.学号=成绩,学号
    AND成绩,课程名=任课,课程名;

  • 第3题:

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


    参考答案:外键

  • 第4题:

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

  • 第5题:

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

  • 第6题:

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

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

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

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

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

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

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

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


    正确答案:A

  • 第9题:

    设学生表的结构为:(学号、姓名、性别、出生年月、入校总分、三好生),其中学号为主键。选课表的结构为:(学号、课程号、成绩),其中学号+课程号为主键。下列语句中,错误的是 ______。

    A.SELECT * FROM学生表

    B.SELECT学号AS学生编号FROM学生表

    C.SELECT ALL FIELDS FROM学生表

    D.SELECT DISTINCT学号FROM选课表


    正确答案:C
    解析:选项A中的字符“*”表示学生表中全部的字段名,不必逐一列出;选项B只列出学生表中的“学号”字段值,并在查询结果中将列标题改为“学生编号”;选项D列出选课表中消去了重复值的“学号”字段内容;选项C由于多了FIELDS,故是错误的。

  • 第10题:

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

    A)课程号,成绩

    B)学号,成绩

    C)学号,课程号

    D)学号,课程号,成绩


    正确答案:C

  • 第11题:

    若在数据库中有“教师”表(教师号、教师名)、“学生”表(学号、学生名)和“课程”表(课程号,课程名)等3个基本情况表。学校里一名教师可主讲多门课程,一名学生可选修多门课程,则主讲教师与学生之间形成了多对多的师生关系。为反映这种师生关系,在数据库中应增加新的表。下列关于新表的设计中,最合理的设计是()

    • A、增加两个表:学生-选课表(学号、课程号),教师-任课表(教师号、课程号)
    • B、增加一个表:学生-选课-教师表(学号、课程号、教师号)
    • C、增加一个表:学生-选课-教师表(学号、学生名、课程号、课程名、教师号、教师名)
    • D、增加两个表:学生-选课表(学号、课程号、课程名),教师-任课表(教师号、课程号、课程名)

    正确答案:A

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

    设选课表的结构为:(学号、课程号、成绩),其中学号+课程号为主键。要从选课表中统计每个学生选修的课程门数,应使用的SELECT-SQL语句是______。

    A.SELECTCOUNT(*)FROM选课表

    B.SELECTCOUNT(*)FROM选课表GROUPBY学号

    C.SELECTDISTINCTCOUNT(*)FROM选课表

    D.SELECTDISTINCTCOUNT(*)FROM选课表GROUPBY学号


    正确答案:B
    解析:在选课表中,每个学生只要选修了一门课程就有一条记录,如果选修了多门课程,就有多条记录。特殊函数COUNT(*)用来统计记录的个数,不消除重复行,不允许使用DISTINCT短语。选项A统计的是选课表中所有的记录数,选项B是按学号进行分组,然后统计分组后,显示每一组的记录数,也就统计出了每个学生选修课程的门数,选项C和选项D中使用了DISTINCT短语,所以是错误的。

  • 第14题:

    已知表student(学号,姓名,性别,出生日期,专业)

    course(课程号,课程名,学时数,学分)

    grade(学号,课程号,成绩)、

    试在所有学生的课程成绩中列出课程成绩最高的学生姓名、专业、课程名和成绩.


    正确答案:

    SELECT姓名,专业,课程名,成绩
    FROMstudent,grade,course
    WHERE成绩IN(SELECT MAX(grade.成绩)
    FROMgrade)ANDstudent.学号=grade.学号
    ANDcourse.课程号=grade.课程号;

  • 第15题:

    若有学生表Student,结构为:学生(学号,姓名,所在系),选课表SC结构为:选课(学号,课程号,成绩)。现要查询信息工程系学生的姓名和所选的课程号。下列关系代数表达式正确的是()。

    A、σ姓名,课程号( ∏所在系=‘信息工程’ (SCStudent))

    B、σ姓名,课程号( ∏所在系=‘信息工程’ SCStudent)

    C、∏姓名,课程号(σ所在系=‘信息工程’ (SCStudent))

    D、∏姓名,课程号(σ所在系=‘信息工程’ SCStudent)


    参考答案:C

  • 第16题:

    设有学生表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是指定两表连接的关键字。

  • 第17题:

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

    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。

  • 第18题:

    设有学生选课表: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

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

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

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

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

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


    正确答案:A
    本题要用内、外层互相嵌套的方式进行查询。内查询NOTEXISTS(SELECT*FROMSCWHERESC.学号=S.学号AND成绩85)表示的含义是选课成绩表SC中不存在成绩小于85的记录,反过来说,就是成绩都高于或等于85分的记录。外查询SELECT学号.姓名FROMS表示的含义是从学生表S中查询学号、姓名,所以选项A正确。选项B的意思刚好与本题的要求相反;选项C、D写法错误。

  • 第22题:

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

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

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

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

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


    D

  • 第23题:

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

  • 第24题:

    单选题
    现有学生表和修课表,其结构为:  学生表(学号,姓名,入学日期,毕业日期)  修课表(学号,课程号,考试日期,成绩)  现要求修课表中的考试日期必须在学生表中相应学生的入学日期和毕业日期之间。下列实现方法中,正确的是()。
    A

    在修课表的考试日期列上定义一个CHECK约束

    B

    在修课表上建立一个插入和更新操作的触发器

    C

    在学生表上建立一个插入和更新操作的触发器

    D

    在修课表的考试日期列上定义一个外键引用约束


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