您的位置:自考365 > 复习指导 > 历年试题 > 北大“数据库原理”上机实践题目总结(16)

北大“数据库原理”上机实践题目总结(16)

2007-07-18 15:00   【 】【我要纠错

  2. 往表中插入数据:

  运动员((1001, 李明,男,计算机系)

  1002,张三,男,数学系

  1003, 李四,男,计算机系

  1004, 王二,男,物理系

  1005, 李娜,女,心理系

  1006, 孙丽,女,数学系)

  项目( x001, 男子五千米,一操场

  x002,男子标枪,一操场

  x003, 男子跳远,二操场

  x004, 女子跳高,二操场

  x005, 女子三千米,三操场)

  积分( 1001, x001, 6

  1002, x001, 4

  1003, x001, 2

  1004, x001, 0

  1001, x003, 4

  1002, x003, 6

  1004, x003, 2

  1005, x004, 6

  1006, x004, 4)

  3. 完成如下查询

  athlete(a#,aname,sex,dno)

  project(p#,pname,address)

  grade(a#,p#,jf)

  找出参加了张三所参加的所有项目的其他同学的姓名

  SELECT ANAME

  FROM W193_ATHLETE Y

  WHERE NOT EXISTS

  (SELECT * FROM W193_GRADE X

  WHERE A# IN

  (SELECT A# FROM W193_GRADE

  WHERE A# IN (SELECT A# FROM W193_ATHLETE WHERE ANAME='张三' )

  )

  AND NOT EXISTS

  (SELECT * FROM W193_GRADE WHERE A#=Y.A# AND P#=X.P# )

  )

  a) 求出目前总积分最高的系名,及其积分。

  SELECT DNO,SUM(JF) AS JF

  FROM W193_GRADE X,W193_ATHLETE Y

  WHERE X.A#=Y.A#

  GROUP BY DNO

  HAVING SUM(JF)>=ALL

  (SELECT SUM(JF)

  FROM W193_GRADE X,W193_ATHLETE Y

  WHERE X.A#=Y.A#

  GROUP BY DNO

  )

  b) 找出在一操场进行比赛的各项目名称及其冠军的姓名

  SELECT PNAME,ANAME

  FROM W193_ATHLETE X, W193_GRADE Y, W193_PROJECT Z

  WHERE X.A#=Y.A# AND Z.P#=Y.P# AND

  ADDRESS='一操场' AND JF>=ALL(SELECT MAX(JF) FROM W193_GRADE

  WHERE P# IN (SELECT P# FROM W193_PROJECT WHERE ADDRESS='一操场')

  GROUP BY P#)

  c) 找出参加了张三所参加的所有项目的其他同学的姓名

  SELECT ANAME

  FROM W193_ATHLETE Y

  WHERE A# NOT IN (SELECT A# FROM W193_ATHLETE WHERE ANAME='张三')

  AND NOT EXISTS

  (SELECT * FROM W193_GRADE X

  WHERE A# IN

  (SELECT A# FROM W193_GRADE

  WHERE A# IN (SELECT A# FROM W193_ATHLETE WHERE ANAME='张三' )

  )

  AND NOT EXISTS

  (SELECT * FROM W193_GRADE WHERE A#=Y.A# AND P#=X.P# )

  )

本文转载链接:北大“数据库原理”上机实践题目总结(16)

分享到:
  • 站内搜索
  • 课程搜索
  • 试题搜索

热门搜索:教材 报名 查分 免考 考试计划