设有如下关系表
供应者:SUPPLIER(SNO,SNAME,CITY),其中,SNO供应者编号,SNAME为供应者姓名,CITY所在城市
零件:PART(PNO,PNAME,WEIGHT),其中,PNO零件号,PNAME零件名称,WEIGHT重量
工程:JOB(JNO,JNAME,CITY),其中,JNO工程号,JNAME工程名,CITY所在城市
联系关系:SPJ(SNO,PNO,JNO,QTY),其中,QTY为数量
(1)查找给工程J1提供零件P1的供应者号SNO
(2)查找在北京的供应者给武汉的工程提供零件的零件号
(3)查找由供应者S1提供的零件名PNAME
(4)查找CITY值为上海的工程号和名称
(5)将工程J3的城市改为广州
(6)将所有重20公斤的零件改为重10公斤
(7)将给工程J1提供零件P1的供应者S1改为S2
(8)将值(S3,凌涛,武汉)加到SUPPLIER中
(9)删除所有上海工程的数据
A 答案如下所示:
(1)查找给工程J1提供零件P1的供应者号SNO
答案:
SELECT SNO
FROM SPJ,PART,JOB
WHERE SPJ.PNO = PART.PNO
AND SPJ.JNO = JOB.JNO
AND PART.PNAME = 'P1'
AND JOB.JNAME = 'J1';
(2)查找在北京的供应者给武汉的工程提供零件的零件号
答案:
SELECT PNO
FROM SPJ,PART,JOB
WHERE SPJ.PNO = PART.PNO
AND SPJ.JNO = JOB.JNO
AND JOB.CITY = '武汉'
AND SUPPLIER.CITY = '北京';
(3)查找由供应者S1提供的零件名PNAME
答案:
SELECT PNAME
FROM PART
WHERE PNO IN
(SELECT PNO FROM SPJ, SUPPLIER
WHERE SPJ.SNO = SUPPLIER.SNO
AND SUPPLIER.SNAME = 'S1');
(4)查找CITY值为上海的工程号和名称
答案:
SELECT JNO,JNAME FROM JOB WHERE CITY = '上海';
(5)将工程J3的城市改为广州
答案:
UPDATE JOB SET CITY = '广州' WHERE JNAME = 'J3';
(6)将所有重20公斤的零件改为重10公斤
答案:
UPDATE PART SET WEIGHT='10公斤' WHERE WEIGHT='20公斤';
(7)将给工程J1提供零件P1的供应者S1改为S2
答案:
UPDATE SUPPLIER
SET SNAME = 'S2'
WHERE SNAME = 'S1'
AND SNO IN
(SELECT SNO FROM SPJ,JOB,PART
WHERE SPJ.JNO = JOB.JNO
AND JOB.JNAME = 'J1'
AND SPJ.PNO = PART.PNO
AND PART.PNAME = 'P1');
(8)将值(S3,凌涛,武汉)加到SUPPLIER中
答案:
INSERT INTO SUPPLIER VALUES('S3', '凌涛', '武汉');
(9)删除所有上海工程的数据
答案:
DELETE FROM SPJ WHERE JNO IN (SELECT JNO FROM JOB WHERE CITY = '上海');
DELETE FROM JOB WHERE CITY = '上海';
需要注意的是,上述语句的顺序不能弄反。
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 文章内容来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。
DBA求职布道者
◆ DB最新咨询 |
◆ DB求职面经 |
◆ DB干货推送 | ◆ DB最新技术 |
◆ DB职业发展与规划 | ◆ DB进阶思路与方法 |
长按二维码点选(识别图中二维码) |
本文分享自微信公众号 - DB宝(lhrdba)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。