<
>

专业试题:计算机考试关系数据库标准语言--SQL

公务员2006-08-08gzhgz.com信息来源

A-A+

专业试题:计算机考试关系数据库标准语言--SQL

公务员考试专用训练软件《公务员考试百宝箱》1.0版

对于下述3个关系:
S (S#, Sn, Sa, Sex)
C (C#, Cn, TEACHER)
SC (S#, C#, GRADE)

试用SQL的查询语句表达下列查询:

(1) 检索LIU老师所授课程的课程号和课程名。
  SELECT C#, Cn
  FROM C
  WHERE TEACHER=’LIU’

(2) 检索年龄大于23岁的男学生的学号和姓名。
 SELECT S#, Sn
FROM S
WHERE Sa>23 AND Sex=’男’

(3) 检索学号为S3学生所学课程的课程名和任课老师。
 方法一:
SELECT Cn, TEACHER
FROM C
WHERE C# IN
   (SELECT C#
    FROM SC
    WHERE S#=’S3’)
方法二:
  SELECT Cn, TEACHER
  FROM C, SC
  WHERE C.C#=SC.C# AND SC.S#=’S3’
方法三:
SELECT Cn, TEACHER
FROM C
WHERE EXISTS
   (SELECT *
    FROM SC
    WHERE SC.C#=C.C# AND S#=’S3’)

公务员考试专用训练软件《公务员考试百宝箱》1.0版

公务员考试专用训练软件《公务员考试百宝箱》1.0版

(6) 检索至少选修两门课程的学生学号。
 方法一:
       SELECT DISTINCT S1.S#
       FROM SC AS SC1, SC AS SC2
       WHERE SC1.S#=SC2.S# AND SC1.C#!=SC2.C#
方法二:
   SELECT S#
   FROM SC
   GROUP BY S#
HAVING COUNT(*)>=2
  
(7) 检索全部学生都选修的课程的课程号和课程名。
   方法一:
     SELECT C#, Cn
     FROM C
     WHERE NOT EXISTS
        (SELECT *
         FROM S
         WHERE NOT EXISTS
              (SELECT *
               FROM SC
               WHERE SC.S#=S.S# AND SC.C#=C.C#)
        )
    方法二:
     SELECT C#, Cn
     FROM C
     WHERE NOT EXISTS
        (SELECT *
         FROM S
         WHERE S# NOT IN
              (SELECT S#
               FROM SC
               WHERE SC.C#=C.C#)
方法三:
  SELECT C#, Cn
  FROM C
  WHERE C# IN
    (SELECT C#
     FROM SC
     GROUP BY C#
     HAVING COUNT(*)=
         (SELECT COUNT(*)
          FROM S
         )

公务员考试专用训练软件《公务员考试百宝箱》1.0版

  (8) 检索选修课程中包含LIU老师所授课程的学生学号
     方法一:
         SELECT DISTINCT S#
         FROM SC
         WHERE C# IN
             (SELECT C#
              FROM C
              WHERE TEACHER=’LIU’)
方法二:
         SELECT DISTINCT S#
         FROM SC
         WHERE EXISTS
             (SELECT *
              FROM C
              WHERE C.C#=SC.C# AND TEACHER=’LIU’)
方法三:
    SELECT DISTINCT S#
    FROM SC, C
    WHERE SC.C#=C.C# AND C.TEACHER=’LIU’

10.试用SQL查询语句表达下列对教学数据库3个基本表S,C,SC的查询.
S(S#, Sn, Sa, Sex)
C(C#, Cn, TEACHER)
SC(S#, C#, GRADE)
(1)在表C中统计开设课程的教师人数.
(2)求选修C4课程的女学生的平均年龄.
 (3)求每个学生都选修课程(已有成绩)的门数和平均成绩.
 (4)统计每个学生选修课程的门数(超过5门的学生才统计).要求输出学生学号和选修门数,查询结果按门数降序排列,若门数相同,按学号升序排列.
 (5)检索学号比WANG同学大,而年龄比他小的学生姓名.
 (6)在表SC中检索成绩为空值的学生学号和课程号.
 (7)检索姓名以L开头的所有学生的姓名和年龄.
 (8)求年龄大于女同学平均年龄的男学生姓名和年龄.
 (9)求年龄大于所有女同学年龄的男学生的姓名和年龄.

公务员考试专用训练软件《公务员考试百宝箱》1.0版


参考答案:
(1)在表C中统计开设课程的教师人数.
Select Count(distinct TEACHER)
from C
(2)求选修C4课程的女学生的平均年龄.
Select AVG(SA)
from S
where Sex=0 and  S# in
  (select S#
   from SC
   where C#='C4')
(3)求每个学生都选修课程(已有成绩)的门数和平均成绩.
Select S#, AVG(GRADE), COUNT(C#)
from SC
Group by S#
 (4)统计每个学生选修课程的门数(超过5门的学生才统计).要求输出学生学号和选修门数,查询结果按门数降序排列,若门数相同,按学号升序排列.
Select COUNT(C#), S#
from SC
GROUP BY S#
HAVING COUNT(*)>5
ORDER BY COUNT(*) DESC, SC.S#  ASC
 (5)检索学号比WANG同学大,而年龄比他小的学生姓名.
方法一:
Select Sn
from S
where  S.S#>(select S1.S#
              from S as S1
              where S1.Sn='WANG')
and S.Sa< ( select S2.Sa
from S as S2
where S2.Sn='WANG')
 
  方法二:
Select Sn
from S as S1
where  Exists (select *
              from S as S2
              where S2.Sn='WANG') and S1.S#>S2.S# 
                         and S1.Sa

辅导课程

图书推荐

特别声明

由于各方面情况的不断调整与变化,本站所提供的公务员信息仅供参考,请以官方机构发布为准,本站对发布信息的真实性、准确性不负任何职责。
转载贵州好工作公务员信息请务必注明出处(http://www.gzu521.net)。信息版权归原始作者所有。
如果本站所转载内容不慎侵犯了您的权益,请与我们联系,我们将会及时修改或删除处理。

公务员专业科目

扫码关注官方微信

及时获取"最新"招聘信息