实验四 SQL语句
一、实验目的
1、熟练掌握SQL-SELECT语句的语法格式及参数。
2、熟练掌握INSERT、DELETE、UPDATE语句的语法格式及参数。
3、掌握ALTER、DROP语句的语法格式及参数。
二、实验过程
(一)启动VF
(二)在命令窗口中完成以下操作
1、建立如下结构的数据表:
仓库表:
仓库号 城市 面积
WH1 北京 370
WH2 上海 500
WH3 广州 200
WH4 武汉 400
职工表:
仓库号 WH2 WH1 WH2 WH3 WH1 订购单表:
职工号 E3 2001/06/23
E1 职工号 E1 E3 E4 E6 E7 供应商号 订购单号 S7 S4 工资
1220
1210
1250
1230
1250
订购日期 OR67 OR73
2001/07/28
E7 S4 OR76 2001/05/25
E6 Null OR77 Null
E3 2001/06/13
E1 E3 E3 2001/07/13
供应商表:
供应商号 S3 S4 S6 S4 Null OR80 Null OR90 S3 供应商名 振华电子厂 华通电子公司 607厂 Null
Null
地址
西安
北京
郑州
OR79 OR91
S7 爱多电子厂 北京
2、用SQL完成以下查询:
(1)检索在北京的供应商的名称。
(2)检索出向供应商S3发过订购单的职工的职工号和仓库号。
(3)检索出和职工E1、E3都有联系的北京的供应商信息。
(4)检索出向S4供应商发出订购单的仓库所在的城市。
(5)检索出由工资多于1230元的职工向北京的供应商发出的订购单号。
(6)检索出所有仓库的平均面积。
(7)检索出每个仓库中工资多于1220元的职工个数。
(8)检索出工资低于本仓库平均工资的职工信息。
3、用SQL语句完成以下更新操作:
(1)插入一个新的供应商元组(S9,智通公司,沈阳)。
(2)删除目前没有任何订购单的供应商。
(3)删除由在上海仓库工作的职工发出的所有订购单。
(4)北京的所有仓库增加100m2的面积。
(5)给低于所有职工平均工资的职工提高5%的工资。
4、使用SQL语句建立一个学生管理数据库,其中至少包括学生、课程、成绩3个表,可以根据自己的理解决定有哪些字段和完整性约束。
三、实验要求
(一)上机前要求同学先书写答案;
(二)撰写实验报告。
答题签
2、(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
3、(1)
(2)
(3)
(4)
(5)
1)select 供应商名 from 供应商 where 地址=\"北京\" (华通电子公司,爱多电子厂)
2)select 职工.职工号,仓库号 from 职工,订购单 where 供应商号=\"s3\" and 职工.职工号=;
订购单.职工号
或select 职工号,仓库号 from 职工 where 职工号 in ( select 职工号 from 订购单 where;
供应商号=\"s3\") (e3,w1)
3)select供应商号,供应商名,地址 from 供应商 where 供应商号in (select供应商号 from订购;单 where 职工号=\"e1\") and供应商号in (select供应商号 from订购单 where职工号=\"e3\");
and 地址=\"北京\" ( s4,华通电子公司,北京)
4)select distinct 城市 from 仓库,职工,订购单 where供应商号=\"s4\" and 订购单.
职工号=职工.;职工号 and 职工.仓库号=仓库.仓库号 (北京,上海)
5)select订购单号 from职工,订购单,供应商where 地址=\"北京\" and 工资>1230
and 供应商.;供应商号=订购单.供应商号 and 订购单.职工号=职工.职工号 (or76)
6)select avg (面积) from 仓库
(367.5)
7)select 仓库号,count(职工号) from 职工 where 工资>1220 group by 仓库号
(wh1,1 wh2,1 wh3,1)
8)select out.仓库号,out.职工号,out.工资 from 职工 out ;
where 工资 < (select avg(工资) from 职工 inner1 where out.仓库号 = inner1. 仓库号)
(wh2,e1,1220 wh1, e3, 1210 )
3、 SQL语句完成以下更新操作:
1)insert into 供应商 values (\"s9\智通公司\沈阳\")
2)dele from 供应商 where 供应商号 not in ( select 供应商号 from 订购单)
3)dele from 订购单 where 订购单.职工号 in( select 职工.职工号 from 仓库,职工 where ;
城市=\"上海\" and 仓库.仓库号=职工.仓库号)
4)update 仓库 set 面积 = 面积+100 where 城市=\"北京\"
5)update 职工 set 工资=工资*1.05 where 工资<( select avg(工资) from 职工)