【数据库】第3章 SQL语言丨小结与习题
本文所属《数据库系统原理》分类专栏,相关文章导航请点击《数据库系统原理》目录汇总贴
课后题3/4/5题目
第3题
(1)
1 | SELECT * |
(2)
1 | SELECT A,B |
(3) S ⋈ T
1 | -- 共同属性列是 C 和 D |
(4)
1 | SELECT * |
(5)
1 | SELECT * |
(6)
1 | SELECT S.C,S.D,T.* |
第4题
用SQL语句建立第二章习题6中的4个表;针对建立的4个表用SQL完成第二章习题6中的查询。
【建表】:
1 | --建“供应商表 S” |
上方那些代码的用法参考如下:
- 光标选中 S表 的建表代码,执行
- 光标选中 S表 的插入代码,执行
- 任意空白处输入下面查询语句,光标选中,执行建完表后开始做题。
1
2SELECT *
from S
【查询】:
(1)求供应工程J1零件的供应商号码SNO;
1 | SELECT SNO |
(2)求供应工程J1零件P1的供应商号码SNO;
1 | SELECT SNO |
(3)求供应工程J1零件为红色的供应商号码 SNO;
1 | SELECT SNO |
(4)求没有使用天津供应商生产的红色零件的工程号JNO;
1 | SELECT JNO |
(5)求至少用了供应商S1所供应的全部零件的工程号JNO。
1 | SELECT DISTINCT JNO |
第5题
针对习题4中的4个表使用SQL完成以下各项操作:
(1)找出所有供应商的姓名和所在城市;
1 | SELECT SNO,CITY |
(2)找出所有零件的名称、颜色、重量;
1 | SELECT PNAME,COLOR,WEIGHT |
(3)找出使用供应商S1所供应零件的工程号码;
1 | SELECT JNO |
(4)找出工程项目J2使用的各种零件的名称及其数量;
1 | SELECT PNAME,QTY |
(5)找出上海厂商供应的所有零件号码;
1 | SELECT DISTINCT PNO |
或者
1 | SELECT DISTINCT PNO |
(6)找出使用上海产的零件的工程名称;
1 | SELECT DISTINCT JNAME |
或
1 | SELECT JNAME |
我的错误答案:
1 | SELECT JNO --查找对象都能看错 |
(7)找出没有使用天津产的零件的工程号码;
1 | SELECT JNO |
或
1 | SELECT JNO |
我的错误答案:
1 | SELECT DISTINCT PNO |
(8)把全部红色零件的颜色改成蓝色;
1 | UPDATE P |
(9)由S5供给J4的零件P6改为由S3供应,请作必要的修改;
1 | UPDATE SPJ |
(10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录;
1 | DELETE |
(11)请将(S2,J6,P4,200)插入供应情况关系;
1 | INSERT INTO SPJ VALUES('S2','P4','J6',200); |
或
1 | INSERT INTO SPJ(SNO,PNO,JNO,QTY) VALUES('S2','P4','J6',200); |
第9题
请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应商数量(QTY)。
1 | CREATE VIEW VIEW_SPJ |
针对该视图完成下列查询:
(1)找出三建工程项目使用的各种零件代码及其数量;
1 | SELECT PNO,QTY |
(2)找出供应商S1的供应情况;
1 | SELECT * |
答案参考:
[1] 第三章课后题 https://blog.csdn.net/weixin_44652687/article/details/105051082
[2] 第三章课后题 https://blog.csdn.net/MooM_X/article/details/105072849 - 主要参考
[3] 数据库第5版全书答案 https://blog.csdn.net/weixin_46037153/article/details/103936161