- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
以下是课本习题4上机题第1题的答案:
1. select 供应商名 from 供应商 where 地址=北京
2. select 职工号,仓库号 from 职工 where 职工号 in(select 职工号 from 订购单 where 供应商号=S3)
3. select * from 供应商 where 地址=北京 ;
and 供应商号 in (select 供应商号 from 订购单 where 职工号=E3);
and 供应商号 in (select 供应商号 from 订购单 where 职工号=E1)
注:这条命令不能写成如下形式
select * from 供应商 where 地址=北京 and 供应商号 in (select 供应商号 from 订购单 where 职工号=E3 and 职工号=”E1”)
在表里,指针一次只能指向一条记录,而内嵌套(select 供应商号 from 订购单 where 职工号=E3 and 职工号=”E1”)中,让职工号等于E3,同时也让职工号等于E1,这样,指针需同时指向职工号为E1和E3的两条记录,这是不可能实现的,所以,此条件需用两个select语句,进行两次查询来完成。
因题中要求要检索的是”和职工E1、E3都有联系的北京的供应商信息”,所以以下解法也不对:
select * from 供应商 where 地址=北京 and 供应商号 in (select 供应商号 from 订购单 where 职工号=E3 or 职工号=”E1”)
4. select distinct 城市 from 仓库,职工,订购单 where 供应商号=S4 and 仓库.仓库号=职工.仓库号 and 职工.职工号=订购单.职工号
5. select 订购单号 from 订购单,职工,供应商 where 地址=北京 and 工资1230 and 职工.职工号=订购单.职工号 and 订购单.供应商号=供应商.供应商号
6. select avg(面积) as 平均面积 from 仓库
7. sele 仓库号, count(*) from 职工 where 工资1220 group by 仓库号
select * from 职工 where 工资1220 into cursor aaa
select 仓库号,count(*) as 职工个数 from aaa group by 仓库号
注:先将工资多于1220元的职工信息放在临时表aaa中,然后对临时表aaa进行分组查询,得出题目要求结果。思考:若将此结果放入某永久表中,该如何操作?
8. Sele * from 职工 out where 工资(sele avg(工资)
from 职工 inner1 out.仓库号=inner1.仓库号)
select 仓库号,avg(工资) as 平均工资 from 职工 group by 仓库号 into cursor bbb
select 职工.* from 职工,bbb where 职工.仓库号=bbb.仓库号 and 工资平均工资
注:此题也是先建一临时表,然后利用临时表进行查询。在分析问题时,当遇到查询条件本身已经比较麻烦,觉得仅用一条select语句无法实现,或实现起来难度太大时,可考虑建立临时表,这时要慎重选择临时表里的字段,对题目有帮助的字段一定要包含在里边。
此条命令不能写为如下形式:
Sele *from 职工where 工资(sele avg(工资) from 职工 group by 仓库号 )
第2题:
1. insert into 供应商 values(S9,智通公司,沈阳)
2. delete from 供应商 where 供应商号 not in (select 供应商号 from 订购单)
3. select 职工号 from 职工 where 仓库号 in;
(select 仓库号 from 仓库 where 城市=上海) into cursor aaa
delete from 订购单 where 职工号 in (select 职工号 from aaa)
注:现将在上海工作的职工号放入临时表aaa中,然后按题意删除记录。
delete from 订购单 where 职工号in (select 职工号 from 仓库 ,职工 where 仓库.仓库号=职工.仓库号 and 城市=上海)
4. update 仓库 set 面积=面积+100 where 城市=北京
5. update 职工 set 工资=工资*1.05 where 工资(select avg(工资) from 职工)
第3题:
create database 学生管理
create table 学生(
文档评论(0)