位置:首页 > 自考专业

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

  • 发布时间:2024-09-15 16:21:23
  • 来源:本站整理
  • 阅读:
导读:
  /*3 A、列出销售了所有颜色为“Red”的商品的部门名 */
  select 部门。部门名 from 销售记录,部门,商品 where 销售记录。商品号=商品。商品号 and 销售记录。部门号=部门。部门号
  and 商品。商品颜色='red' group by 部门。部门名
  /* B、列出每个供应商供应给每个部门的商品总数量,并按总量由大到小排列

/*3 A、列出销售了所有颜色为“Red”的商品的部门名 */

select 部门。部门名 from 销售记录,部门,商品 where 销售记录。商品号=商品。商品号 and 销售记录。部门号=部门。部门号

and 商品。商品颜色='red' group by 部门。部门名

/* B、列出每个供应商供应给每个部门的商品总数量,并按总量由大到小排列。 */

select 供应商。供应商名,部门。部门名,sum(供应记录。商品数量)as 总供应量 from 供应记录,供应商,部门 where 供应记录。部门号=部门。部门号

and 供应商。供应商号=供应记录。供应商号 group by 供应商。供应商名,部门。部门名 order by 总供应量 desc

/* C、列出销售商品的总量排在第一位的部门名称

*/

select 部门。部门名 from 销售记录,部门 where 销售记录。部门号=部门。部门号

group by 部门。部门名 having sum(销售记录。数量) =all (select sum(销售记录。数量)

from 销售记录 group by 部门号 )

以上程序在“SQL Server 2000”中调试运行成功!

某个学生运动会比赛信息的数据库原理上机练习及答案

有某个学生运动会比赛信息的数据库,保存了如下的表:

运动员(运动员编号,运动员姓名,运动员性别,所属系号)

项目(项目编号,项目名称,项目比赛地点)

成绩(运动员编号,项目编号,积分)

athlete(a#,aname,sex,dno)

project(p#,pname,address)

grade(a#,p#,jf)

DROP TABLE W193_GRADE

DROP TABLE W193_PROJECT

DROP TABLE W193_ATHLETE

请用SQL语句完成如下功能:

1. 建表,注意满足如下要求:

W193

a) 表名必须加自己的帐号作前缀,比如“d10000001运动员”,

b) 定义各个表的主码外码约束

c) 运动员的姓名和所属系别不能为空值。

d) 积分要么为空值,要么为6,4,2,0, 分别代表第一,二,三名和其他名次的积分,

注意名次可以有并列名次,后面的排名不往前提升,例如,如果有两个并列第一,则没有第二名。

CREATE TABLE W193_ATHLETE

(A# CHAR(8),

ANAME CHAR(12) NOT NULL,

SEX CHAR(2),

DNO CHAR(16) NOT NULL,

PRIMARY KEY (A#))

CREATE TABLE W193_PROJECT

(P# CHAR(8),

PNAME VARCHAR(18),

ADDRESS VARCHAR(16),

PRIMARY KEY (P#))

CREATE TABLE W193_GRADE

(A# CHAR(8),

P# CHAR(8),

JF INT,

PRIMARY KEY(A#,P#),

FOREIGN KEY (A#) REFERENCES W193_ATHLETE(A#),

FOREIGN KEY (P#) REFERENCES W193_PROJECT(P#) ON DELETE CASCADE,

CHECK (JF=NULL OR JF=6 OR JF=4 OR JF=2 OR JF=0))

DROP TABLE W193_GRADE

DROP TABLE W193_ATHLETE

DROP TABLE W193_PROJECT

athlete(a#,aname,sex,dno)

project(p#,pname,address)

grade(a#,p#,jf)

相关阅读