在教学管理系统中,含有二个关系: 学生(学号,姓名,性别,年龄,系名) 选课(学号,课程名,成绩) 请用SQL语句完成: (1)查询每个学生的选修课程数、总成绩、平均成绩; (2)查询选修了“数据库原理”的学生的姓名(用嵌套查询实现); 用关系代数表示: (3)查询选课成绩有85分以上的学生姓名; (4)查询所有男生并且年龄在20岁以下的学生基本信息。

题目

在教学管理系统中,含有二个关系: 学生(学号,姓名,性别,年龄,系名) 选课(学号,课程名,成绩) 请用SQL语句完成: (1)查询每个学生的选修课程数、总成绩、平均成绩; (2)查询选修了“数据库原理”的学生的姓名(用嵌套查询实现); 用关系代数表示: (3)查询选课成绩有85分以上的学生姓名; (4)查询所有男生并且年龄在20岁以下的学生基本信息。


相似考题
更多“在教学管理系统中,含有二个关系: 学生(学号,姓名,性别,年龄,系名) 选课(学号,课程名,成绩) 请用SQL语句完成: (1)查询每个学生的选修课程数、总成绩、平均成绩; (2)查询选修了“数据库原理”的学生的姓名(用嵌套查询实现); 用关系代数表示: (3)查询选课成绩有85分以上的学生姓名; (4)查询所有男生并且年龄在20岁以下的学生基本信息。”相关问题
  • 第1题:

    已知表S(学号,姓名,年龄)

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

    C(课程号,课程名,教师名)

    试用SQL查询语句表达下列对教学数据库中的三个基本表S、SC、C的查询:

    (1)统计有学生选修的课程门数.

    (2)求选修C4课程的学生的平均年龄.

    (3)求王平老师所授课程的每门课程的学生平均成绩.

    (4)统计每门课程的学生选修人数(超过10人的课程才统计).要求输出课程号和选修人数.

    (5)查询姓名以WANG开头的所有学生的姓名和年龄.


    正确答案:
    (1)SELECT  COUNT(DISTINCT课程号)
          ROM  SC;
    (2)SELECT  AVG(年龄)
          FROM  S,SC
          WHERE课程号=“C4”AND S.学号=SC.
          学号;
    (3)SELECTSC.课程号,课程名,AVG(成绩)
          FROM  SC,C
          WHERE  SC.课程号=C.课程号AND
          C.教师名=“王平”
           GROUP  BY  SC.课程号;
    (4)SELECT课程号,COUNT(学号)
           FROM  SC
          GROUP  BY课程号
           HAVING  COUNT(*)>10;
    (5)SELECT 姓名,年龄
            FROM  S
           WHERE 姓名 LIKE“WANG*”:

  • 第2题:

    在关系Student(学号,姓名,系名,课程号,成绩)中,查询至少选修了四门课程的学生学号、姓名及平均成绩的SElECT语句应该是:

    SELECT学号,姓名,AVC((254))AS平均成绩

    FROM Student

    CROUP BY学号

    HAVING (255)

    A.成绩

    B.姓名

    C.系名

    D.课程号


    正确答案:A

  • 第3题:

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

  • 第4题:

    给定学生S(学号,姓名,年龄,入学时间,联系方式)和选课SC(学号,课程号,成绩)关系,若要查询选修了1号课程的学生学号、姓名和成绩,则该查询与关系代数表达式 (8) 等价。

    A.A

    B.B

    C.C

    D.D


    正确答案:B
    本题考查数据库中的关系代数。解答本题需要对关系代数中的自然连接有一定了解。自然连接操作会自动以两个关系模式中共有属性值相等作为连接条件,对于连接结果,将自动去除重复的属性。所以在本题中,连接条件为两个表的学号相等,当连接操作完成以后,形成的结果表,有属性“学号,姓名,年龄,入学时间,联系方式,课程号,成绩”,此时要选择1号课程的学生记录,应使用条件6=“1”,其含义是表中的第6个属性值为“1”。所以本题应选B。

  • 第5题:

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

  • 第6题:

    设有一个关系Student(学号,姓名,系名,课程号,成绩),查询至少选修了四门课程的学生学号、姓名及平均成绩的SELECT语句应该是:

    SELECT 学号,姓名,AVG(成绩) AS平均成绩

    FROM Student

    GROUP BY(18)

    HAVING(19)

    A.学号

    B.姓名

    C.系名

    D.课程号


    正确答案:A
    解析:本题考查的是SQL查询语言。GROUP BY子句可以将查询结果表的各行按一列或多列取值相等的原则进行分组,对查询结果分组的目的是为了细化集函数的作用对象。如果分组后还要按一定的条件对这些组进行筛选,最终只输出满足指定条件的组,可以使用HAVING短语指定筛选条件。由题意可知,在这里只能根据学号进行分组,并且要满足条件:此学号的学生至少选修了四门课程。因此,试题(18)的正确答案为A,试题(19)的正确答案为B。

  • 第7题:

    有学生、选修和课程三个关系,学生S(学号,姓名,性别….),课程C(课程号,课程名),选修SC(学号,课程号,成绩)。想查询选修2号课程的学生的学号和姓名,则关系运算式


  • 第8题:

    设有一个关系Student(学号,姓名,系名,课程号,成绩),查询至少选修了四门课程的学生学号、姓名及平均成绩的SELECT语句应该是:SELECT 学号,姓名,AVG(成绩)AS平均成绩FROM StudentGROUP BY(请作答此空)HAVING( )

    A.学号
    B.姓名
    C.系名
    D.课程号

    答案:A
    解析:
    本题考查的是SQL查询语言。GROUP BY子句可以将查询结果表的各行按一列或多列取值相等的原则进行分组,对查询结果分组的目的是为了细化集函数的作用对象。如果分组后还要按一定的条件对这些组进行筛选,最终只输出满足指定条件的组,可以使用HAVING短语指定筛选条件。由题意可知,在这里只能根据学号进行分组,并且要满足条件:此学号的学生至少选修了四门课程。因此,试题(18)的正确答案为A,试题(19)的正确答案为B。

  • 第9题:

    已知关系模式:学生(学号,姓名,性别,年龄,系别),选课(学号,课程号,成绩)用关系代数实现查询没有选修课程号为‘C3’课程的学生学号。


    正确答案:π学号(学生)-π学号(σ课程号= ‘C3’(选课))

  • 第10题:

    现有“学生选课”数据库,其中主要的表有:“学生”表(学号,姓名,性别,专业,出生年月),“选课”表(学号,课程号,成绩),“课程”表(课程号,课程名,所属专业,学分)按照下列要求写出SQL语句: (1)在“选课”表中,删除选了课程号为10004的所有选课记录。 (2)在“课程”表中,修改课程号为10008的课程名称:数字电路。 (3)设计子查询,查询“课程”表中,有哪些课程没有被任何同学报选。 (4)设计连接查询,查找选修了“数据结构”课程且成绩在80分及以上的学生的学号、姓名、课程名及成绩。


    正确答案: 1)use学生选课
    Delete from选课where课程号=’10004’
    2)use学生选课
    Update课程set课程名=’数字电路’where课程号=’10008’
    3)use学生选课
    Select课程号,课程名from课程where课程号notin
    (Select distinct课程号from选课)
    4)use学生选课
    Select学生.学号,姓名,课程.课程名,选课.成绩
    From学生join选课on学生.学号=选课.学号
    Join课程on课程.课程号=选课.课程号
    Where课程.课程名=’数据结构’and选课.成绩>=80

  • 第11题:

    问答题
    已知关系模式:学生(学号,姓名,性别,年龄,系别),选课(学号,课程号,成绩)用关系代数实现查询没有选修课程号为‘C3’课程的学生学号。

    正确答案: π学号(学生)-π学号(σ课程号= ‘C3’(选课))
    解析: 暂无解析

  • 第12题:

    问答题
    假设某教学管理数据库有以下三张表,请写出下列问题的SQL语句:    学生(学号,姓名,年龄,性别)    课程(课程号,课程名,任课教师) 成绩(学号,课程号,成绩) (1)如何在SQL Server上创建这三张表; (2)查询刘峰教师所授课程号,课程名; (3)查询年龄大于20岁的所有男同学的学号、姓名; (4)查询至少选修了两门课程(含两门)的学生学号; (5)查询王文芳同学选修的所有课程的课程号; (6)查询王文芳同学不学的课程的课程号; (7)查询所有上刘峰老师课程的学生学号; (8)查询所有选修“数据库原理”的学生的学号; (9)向学生表中插入一条记录(’2003001’,’吴红’,21,’女’);(1表示女,0表示男) (10)删除三张表中所有学号为20020001的学生信息; (11)把学号为20030002的学生的年龄改为22岁。

    正确答案: 1.学生表:
    Create table 学生表 (   
    学号 char (8) primary Key,   
    姓名 char(8),   
    年龄 int,   
    性别 bit

       
    课程表:
    Create table 课程表 (   
    课程号 char (7) primary Key, 
    课程名 char(20),   
    任课教师 char (8)

       
    成绩表:
    Create table 成绩表 (   
    学号 char (8),  
    课程号 char (7),   
    成绩 Numeric (4,2)

    2.Select课程号, 课程名 from课程表 where任课教师=’ 刘峰’
    3.Select 学号, 姓名 from 学生表 where 性别=1 and 年龄>20
    4.select 学号 from 成绩   group by 学号   having count(学号)>=2 
    5.Select 课程号 from 成绩表, 学生表 
      Where学生表.姓名=’ 王文芳’ and 学生表.学号=成绩表.学号
    6.select 课程号 from 成绩表 
      where 课程号 not in (select 课程号 from 学生表,成绩表 where 学生表.姓名='王文芳' and 学生表.学号=成绩表.学号)
    7.Select 学号 from 成绩表,课程表,学生表 
      Where 课程表.任课教师='刘世峰' and 课程表.课程号=成绩表.课程号 and 课程表.学号=成绩表.学号
    8.Select 学号 from 成绩表,课程表 
      where 课程表.课程名='数据库技术' and 课程表.课程号=成绩表.课程号
    9.insert into 学生表 values ('2003001','吴红','21',1) 
    10.Delete from学生表 where 学号=’ >20020001’   
    Delete from学生表 where 学号=’ 20020001’ 
    11. Update 学生表 set 年龄=’22’ where学号=’20030002’
    解析: 暂无解析

  • 第13题:

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

  • 第14题:

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

  • 第15题:

    有一个student表(学生,姓名,系名,课程名,成绩),查询至少修了四门课程的学生

    学号,姓名以及平均成绩的 SQL语句。


    正确答案:
     

  • 第16题:

    设有一个关系Student(学号,姓名,系名,课程号,成绩),查询至少选修了4门课程的学生学号、姓名及平均成绩的SELECT语句应该是:

    SELECT学号,姓名,AVG(成绩) AS平均成绩

    FROM Student

    GROUP BY(1)

    HAVING(2)

    A.学号

    B.姓名

    C.系名

    D.课程号


    正确答案:A
    解析:GROUP BY子句可以将查询结果表的各行按一列或多列取值相等的原则进行分组,对查询结果分组的目的是为了细化集函数的作用对象。如果分组后还要按一定的条件对这些组进行筛选,最终只输出满足指定条件的组,可以使用HAVING短语指定筛选条件。由题意可知,在这里只能根据学号进行分组,并且要满足条件:此学号的学生至少选修了4门课。

  • 第17题:

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

  • 第18题:

    根据题意要求,完成下列查询 设有如下学生课程数据库,它包括学生关系、课程关系和选课关系,其关系模式为: 学生(学号,姓名,年龄,性别,民族,专业,年级); 课程(课程号,课程名,教师,总学分); 选课(学号,课程号,成绩)。 1、查询学生表中全部信息。


    正确答案:select * from 学生 (1分)

  • 第19题:

    给定关系模式如下,学生(学号,姓名,专业),课程(课程号,课程名称),选课(学号,课程号,成绩)。查询所有学生的选课情况的操作是(请作答此空);查询所有课程的选修情况的操作是( )。

    A.学生J0IN选课
    B.学生LEFT JOIN选课
    C.学生RIGHT J0IN选课
    D.学生FULL J0IN选课

    答案:B
    解析:

  • 第20题:

    有三个关系,  student:Sno(学号),Sname(姓名),Ssex(性别),Sage(年龄),Sdept(所在系)。 Course:Cno(课程号),Cname(课程名),Credit(学分),Semester(开课学期),Pcno(直接先修课)。  SC://Sno(学号),Cno(课程号),Grade(成绩)。 试用关系代数表达式完成下列查询:  (1)查询“信息管理系”学生的选课情况,列出学号、姓名、课程号和成绩。  (2)查询“数据库基础”课程的考试情况,列出学生姓名、所在系和考试成绩。  (3)查询考试成绩高于80分的学生的姓名、课程名和成绩。  (4)查询计算机系没选VB的学生姓名。

  • 第21题:

    设教学数据库中有四个关系: 教师(教师编号,教师姓名,联系电话) 课程(课程号,课程名,教师编号) 学生(学号,学生姓名,年龄,性别,专业) 选课(学号,课程号,成绩)查询男生所学课程的课程号和课程名。


    正确答案:Selec 课程号,课程名 FROM 学生,选课,课程
    Where 学生.学号=选课.学号 and 选课.课程号=课程.课程号
    And 性别=’男’或 Selec 课程号,课程名 FROM 课程 where 课程号
    in(S.elect课程号from选课where学号in(S.elect学号from学生where性别=’男’))

  • 第22题:

    问答题
    现有“学生选课”数据库,其中主要的表有:“学生”表(学号,姓名,性别,专业,出生年月),“选课”表(学号,课程号,成绩),“课程”表(课程号,课程名,所属专业,学分)按照下列要求写出SQL语句: (1)在“选课”表中,删除选了课程号为10004的所有选课记录。 (2)在“课程”表中,修改课程号为10008的课程名称:数字电路。 (3)设计子查询,查询“课程”表中,有哪些课程没有被任何同学报选。 (4)设计连接查询,查找选修了“数据结构”课程且成绩在80分及以上的学生的学号、姓名、课程名及成绩。

    正确答案: 1)use学生选课
    Delete from选课where课程号=’10004’
    2)use学生选课
    Update课程set课程名=’数字电路’where课程号=’10008’
    3)use学生选课
    Select课程号,课程名from课程where课程号notin
    (Select distinct课程号from选课)
    4)use学生选课
    Select学生.学号,姓名,课程.课程名,选课.成绩
    From学生join选课on学生.学号=选课.学号
    Join课程on课程.课程号=选课.课程号
    Where课程.课程名=’数据结构’and选课.成绩>=80
    解析: 暂无解析

  • 第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")。

  • 第24题:

    问答题
    设教学数据库中有四个关系: 教师(教师编号,教师姓名,联系电话) 课程(课程号,课程名,教师编号) 学生(学号,学生姓名,年龄,性别,专业) 选课(学号,课程号,成绩)查询男生所学课程的课程号和课程名。

    正确答案: Selec 课程号,课程名 FROM 学生,选课,课程
    Where 学生.学号=选课.学号 and 选课.课程号=课程.课程号
    And 性别=’男’或 Selec 课程号,课程名 FROM 课程 where 课程号
    in(S.elect课程号from选课where学号in(S.elect学号from学生where性别=’男’))
    解析: 暂无解析