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

题目

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

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

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

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


相似考题
参考答案和解析
正确答案:A
本题要用内、外层互相嵌套的方式进行查询。内查询NOTEXISTS(SELECT*FROMSCWHERESC.学号=S.学号AND成绩85)表示的含义是选课成绩表SC中不存在成绩小于85的记录,反过来说,就是成绩都高于或等于85分的记录。外查询SELECT学号.姓名FROMS表示的含义是从学生表S中查询学号、姓名,所以选项A正确。选项B的意思刚好与本题的要求相反;选项C、D写法错误。
更多“ 学生:S(学号,姓名,性别,出生日期,院系)课程表:C(课程号,课程名,学时)选课成绩表:SC(学号,课程号,成绩)在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。 ”相关问题
  • 第1题:

    使用如下3个数据库表: 学生表:S(学号,姓名,性别,出生日期,院系) 课程表:C(课程号,课程名,学时) 选课成绩表:SC(学号,课程号,成绩) 在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。用SQL语言检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是______。

    A.SELECTS.学号,姓名,平均成绩FROM S,SC; WHERE S.学号=SC.学号; GROUP BY S.学号HAVING COUNT(*)>=5 ORDER BY平均成绩DESC

    B.SELECT学号,姓名,AVG(成绩)FROMS,SC; WHERE S.学号=SC.学号AND COUNT(*)>=5; GROUP BY学号ORDER BY 3 DESC

    C.SELECTS.学号,姓名,AVG(成绩)平均成绩FROM S,SC; WHERE S.学号;SC.学号AND COUNT(*)>=5; GROUP BY S.学号ORDER BY平均成绩DESC

    D.SELECTS.学号,姓名,AVG(成绩)平均成绩FROMS,SC, WHERE S.学号:SC.学号; GROUP BYS.学号HAVING COUNT(*)7=5 ORDER BY 3 DESC


    正确答案:D
    解析:Visual FoxPro的SELECT—SQL命令的一般语法格式如下:
       SELECT[ALL|DISTINCT]目标列表达式>[,目标列表达式>]…
       FROM基本表(或视图)>[,基本表(或视图)>]…
       [WHERE条件表达式>]
       [GROUPBY列名1>[HAVING内部函数表达式>))
       [ORDERBY列名2>[ASC|DESC]];
    说明:
    ①SELECT子句:ALL表示选出的记录中包括重复记录,这是缺省值;DISTINCT则表示选出的记录中不包括重复记录。
    ②FROM子句及其选项:用于指定查询的表,可以对单个表或多个表进行查询。
    ③WHERE子句:说明查询条件,即筛选元组的条件。
    ④GROUP BY子句:对记录按列名1>值分组,常用于分组统计。
    ⑤HAVING子句:当含有GROUP BY子句时,HAVING子句可用作记录查询的限制条件;无GROUP BY子句时HAVING子句的作用如同WHERE子句。
    ⑥ORDER BY子句:指定查询结果中记录按列名2>排序,默认升序。选项ASC表示升序,DESC表示降序。

  • 第2题:

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

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

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

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

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


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

  • 第3题:

    一下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。

  • 第4题:

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

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

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

  • 第7题:

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

  • 第8题:

    根据以下资料,回答下列各题: 使用如下三个数据库表: 学生表: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。

  • 第9题:

    设学生表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的语句,才能实现查询学生姓名及其所选修课程的课程号和成绩。

  • 第10题:

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

    A)课程号,成绩

    B)学号,成绩

    C)学号,课程号

    D)学号,课程号,成绩


    正确答案:C

  • 第11题:

    单选题
    设有学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字为()
    A

    课号,成绩

    B

    学号,成绩

    C

    学号,课号

    D

    学号,姓名,成绩


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

  • 第12题:

    单选题
    查询“计算机系”学生的学号、姓名、学生所选课程的课程名和成绩,正确的命令是(  )。
    A


    SELECT s.学号,姓名,课程名,成绩
    FROM student s,score sc,course e
    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 se 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院系='计算机系'


    正确答案: D
    解析:
    本题三个表格均使用到了,所以需要两个连接条件,A项使用WHERE引出连接条件,但是多个条件间没有使用AND连接;BD两项没有指明“学号”字段选自哪些表格。

  • 第13题:

    设有学生表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选项错误。

  • 第14题:

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

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

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

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


    正确答案:

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

  • 第15题:

    设有如图所示的E-R模型:

    将上述E-R模型转换成关系模式,正确的结果应是

    A.成绩(学号,姓名,年龄,性别,课程号,课程名,学时,分数)

    B.学生(学号,姓名,年龄,性别,分数)、课程(课程号,课程名,学时)

    C.学生(学号,姓名,年龄,性别)、课程(课程号,课程名,学时,分数)

    D.学生(学号,姓名,年龄,性别)、课程(课程号,课程名,学时)、成绩(学号,课程号,分数)


    正确答案:D
    解析:本题考查E-R模型转换成关系模式的过程。E-R模型可以向现有的多种数据库模型转换,对不同的数据库模型有不同的转换规则。向关系模型转换的规则是:一个实体类型转换成一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的关系则有:一个1:1联系可以转换为一个独立的关系模型;一个1:n的联系可以转换为一个独立的关系模型,也可以与联系的任意n端实体所对应的关系模式合并;一个m: n的联系转换为一个关系模式。题目给出的E-R模型包含两个实体:学生和课程,包含一个m: n的联系,应该转换为一个关系模式。正确答案为选项D。

  • 第16题:

    现有表: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.课程号0N S.学号=SC.学号


    正确答案:D
    用JOIN连接格式连接多个表时JOIN的顺序和ON的顺序应该是相反的,否则会影响到最终的查询结果。

  • 第17题:

    回答下列各题: 基于学生表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也错误。

  • 第18题:

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

  • 第19题:

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

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

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

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

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

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


    正确答案:A

  • 第20题:

    设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课程号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为

    A.课号,成绩

    B.学号,成绩

    C.学号,课号

    D.学号,姓名,成绩


    正确答案:C
    解析:“选课表”SC是“学生表”S和“课程表”C的映射表,主键是两个表主键的组合。

  • 第21题:

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

  • 第22题:

    设有学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字为()

    • A、课号,成绩
    • B、学号,成绩
    • C、学号,课号
    • D、学号,姓名,成绩

    正确答案:C

  • 第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为超连接查询。