SQL实验二

SQL实验二


实验内容
用SQL语句写出以下内容
题目一:
(1)找出所有供应商的姓名和所在城市
(2)找出所有零件的名称,颜色,重量
(3)找出使用供应商S1所供应零件的工程号码
(4)找出工程项目J2使用的各种零件的
名称及其数量
(5)找出上海厂商供应的所有零件号码
(6)找出使用上海产的零件的工程名称
(7)找出没有使用天津产的零件的工程号码
————————————————

select SNAME,CITY 
  from S;

select PNAME,COLOR,WEIGHT 
  from P;

select JNO 
  from SPJ 
  where SNO='S1';

select PNAME,QTY 
  from SPJ,P 
  where SPJ.JNO='J2' AND 
        SPJ.PNO=P.PNO;

select PNO 
  from SPJ,S 
  where  S.SNO=SPJ.SNO AND 
         S.CITY='上海';


select distinct J.JNAME 
  from SPJ,S,J 
  where SPJ.SNO=S.SNO AND 
        S.CITY='上海'AND 
        J.JNO=SPJ.JNO; 


select  JNO 
  from SPJ X 
  where  JNO NOT IN(
                     select JNO from S,SPJ Y 
                       where S.CITY='天津' AND
                             Y.SNO=S.SNO );

题目二:
(1)查询供应J1零件的SNO
(2)查询供应J1零件P1的供应商号码SNO
(3)供应工程J1零件为红色的供应商号码SNO
(4)没有使用天津供应商生产的红色零件的工
程号JNO
(5)至少用了S1供应的全部零件的工程号JNO

select distinct JNO 
  from SPJ 
  where  JNO NOT IN(
                     select JNO from S,SPJ Y 
                       where S.CITY='天津' and
                             Y.SNO=S.SNO AND X.JNO=Y.JNO);



select SNO 
  from SPJ 
  where JNO='J1';

select SNO 
  from SPJ 
  where JNO='J1' AND 
        PNO='P1';

select SNO 
  from SPJ,P 
  where JNO='J1' AND 
        SPJ.PNO = P.PNO AND 
        COLOR='红';

select distinct JNO 
     from SPJ 
     where not exists(
                       select * from S,P 
                         where SPJ.SNO=S.SNO AND 
                               S.CITY='天津' AND 
                               SPJ.PNO=P.PNO AND 
                               P.COLOR='红');


select distinct JNO 
     from SPJ X 
     where not exists(
                       select * from SPJ Y 
                         where Y.SNO='S1' AND 
                         not exists(
                                     select * from SPJ Z 
                                       where Z.SNO=Y.SNO AND
                                             Y.PNO=X.PNO);

题目三:
请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO),零件代码(PNO),供应数量(QTY)。针对该视图完成下列查询:
(1)找出三建工程项目使用的各种零件代码及其数量
(2)找出供应商S1的供应情况

create view SPQ(SNO,PNO,QTY)
 AS 
 SELECT SNO,P.PNO,QTY
 FROM SPJ,P,J
 WHERE SPJ.PNO=P.PNO and SPJ.JNO=J.JNO AND JNAME='三建'


select DISTINCT PNO,QTY
FROM SPQ;

SELECT PNO,QTY
FROM SPQ
WHERE SNO='S1';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值