总复习作业及答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

总复习作业及答案

第六章(114页习题)

2、利用第5章习题中给出的订货管理数据库和记录实例,用SQL语句完成下列操作

(1)列出在北京的供应商的名称

Select 供应商名from 供应商表where 地址=“北京”

(2)列出发给供应商S6的订购单号

Select 订购单号from 订购单表a,供应商表b where a.供应商号=b.供应商号and b.供应商号=”S6”

(3)列出职工E6发给供应商S6的订购单信息

Select * from 订购单表where 职工号=“E6”and 供应商号=“S6”

(4)列出向供应商S3发过订购单的职工的职工号和仓库号Select 职工号,仓库号from 职工表where 职工号=(select 职工号from 订购单表where 供应商号=“S3”

(5)列出和职工E1、E3都有联系的北京的供应商信息Select * from 供应商表where 地址=“北京”and 供应商号=(select 供应商号from 订购单表where 职工号=“E1”and 职工号=“E3”)

(6)列出与工资在1220元以下的职工没有联系的供应商的名称。

Select 供应商名from供应商表where exists(select * from 订购单表,职工表where 供应商号=供应商表.供应商号and 职工表.职工号=订购单表.职工号and 工资<=1220)

(7)列出向供应商S4发出订购单的仓库所在的城市Select 城市from 仓库表a,职工表b,订购单表c where c.职工号=b.职工号and b.仓库号=a.仓库号and 供应商号=“S4”

(8)列出在上海工作并且向供应商S6发出了订购单的职工号

Select b.职工号from 仓库表a,职工表b,订购表c where a.仓库号=b.仓库号and b.职工号=c.职工号and 城市=“上海”and 供应商号=“S6”

(9)列出由工资多于1230元的职工向北京的供应商发出的订购单号

Select 订购单号from 职工号a,订购单表b,供应商表 c where a.职工号=b.职工号and b.供应商号=c.供应商号and 工资>=1230 and 地址=“北京”

(10)列出仓库的个数

Select count(仓库号) as 仓库个数from 仓库表

(11)列出有最大面积的仓库仓库信息

Select * from 仓库表where 面积=(select max(面积)from 仓库表)

(12)列出所有仓库的平均面积

Select avg(面积) as “平均面积”from 仓库表

(13)列出每个仓库中工资多于1220元的职工个数。Select count(工资) from 职工表group by 工资where 工资>1220

(14)列出和面积最小的仓库有联系的供应商的个数。Select count (供应商号) from仓库表a,职工表b,;

订购单表c group by 供应商号;

where a.仓库号=b.仓库号and b.职工号=c.职工号;

and 面积=(select min(面积) from 仓库表)

(15)列出工资低于本仓库平均工资的职工信息。

Select * from 职工表;

where 工资<(select avg(工资) from 职工表)

3、利用第5章习题中给出的订货管理数据库和记录实例,用SQL语句完成下列操作

(1)插入一个新的供应商记录(s9,智通公司,沈阳)Insert into 供应商表values(s9,“智通公司”,“沈阳”)(2)删除目前没有任何订购单的供应商。

Delete from 供应商表where 供应商号not in(select 供应商号from 订购单表)

(3)删除由在上海仓库工作的职工发出的所有订购单。Delect from 订购单表where 职工号=(select c.职工号;

From 仓库表a,职工表b,订购单表c;

Where a.仓库号=b.仓库号and b.职工号=c.职工号and 城市=“上海”)

(4)给北京仓库的面积增加100m2。

Update 仓库表set 面积=面积+100 where 城市=“北京”

(5)给低于所有职工平均工资的职工的工资提高10% Update 职工表set 工资=工资+工资*10%;

Where 工资<(select avg(工资) from 职工表)

补充题

给出公司表和购货表如下:

公司表

购货表

写出以下SQL语句执行后的结果

(1)SELECT 公司号,MAX(单价*数量)FROM 购货表

GROUP BY 公司号查询结果记录有三条

(2)SELECT 产地,COUNT(*)商品种类数FROM 购货表WHERE 单价>200 GROUP BY 产地HA VING COUNT(*)>=2 ORDER BY 商品号DESC

查询结果的第一条记录的产地和提供的商品种类数是:广东(3)SELECT 公司表.公司号,公司名称,SUM(单价*数量)FROM 公司表,购货表WHERE 公司表.公司号=购货表.公司号GROUP BY 公司表.公司号

查询结果为:各公司商品金额合计

(4)SELECT 公司表.公司号,公司名称,商品号,商品名称,单价FROM 公司表,购货表WHERE 公司表.公司号=购货表.公司号ORDER BY 公司表.公司号DESC,单价查询结果的第一条记录的商品号为1041

(5)SELECT 公司名称FROM 公司表WHERE 公司号IN(SELECT 公司号FROM 购货表WHERE 单价BETWEEN 420 AND 1000)

查询结果为:长虹、尚雅

第九章(164页)

2、输入一个三位整数,将其反向输出,如输入326,输出623。

3、输入学生成绩,若成绩大于80分,则输出“优良”,成绩小于60分,则输出“不及格”,否则输出“中等”。

相关文档
最新文档