实验5 SQL的多表查询-1

1-等值连接:求S表和J表城市相同的等值连接(列顺序还是按照S、J表)-103325882
USE mydata;
#请在此处添加实现代码
########## Begin ##########
SELECT S.*,J.* FROM S,J WHERE S.city=J.city;

########## End ##########
2-查询供应情况,并显示供应商、零件和工程三者的名称-103325883
USE mydata;
#请在此处添加实现代码
########## Begin ##########
SELECT SNAME, PNAME, JNAME,QTY
FROM S,P,J,SPJ
WHERE SPJ.SNO=S.SNO AND SPJ.JNO=J.JNO AND SPJ.PNO=P.PNO;

########## End ##########
3-找出上海厂商供应的所有零件号码-103325884
USE mydata;
#请在此处添加实现代码
########## Begin ##########
SELECT DISTINCT PNO
FROM SPJ,S
WHERE S.CITY='上海' AND S.SNO=SPJ.SNO;

########## End ##########
4-找出使用上海产的零件的工程名称-103325885
USE mydata;
#请在此处添加实现代码
########## Begin ##########
SELECT DISTINCT JNAME
FROM S,SPJ,J 
WHERE SPJ.sno=S.sno AND J.jno=SPJ.jno AND S.city='上海';
########## End ##########
5-找出没有使用天津产的零件的工程号码-103325886
USE mydata;
#请在此处添加实现代码
########## Begin ##########

SELECT JNO
FROM J
WHERE JNO NOT IN(
    SELECT JNO
    FROM SPJ
    WHERE SNO IN(
        SELECT SNO
        FROM S
        WHERE CITY='天津'
    ));


########## End ##########
6-求供应工程J1零件为红色的供应商号码SNO-103325887
USE mydata;
#请在此处添加实现代码
########## Begin ##########
SELECT SNO
FROM SPJ
WHERE JNO='J1' AND PNO IN (
    SELECT PNO FROM P WHERE COLOR='红' 
)
#sno j1 p.color红 
########## End ##########
7-求没有使用天津供应商生产的红色零件的工程号 JNO-103325888
USE mydata;
#请在此处添加实现代码
########## Begin ##########
#JNO scity天津 pcolor红
SELECT DISTINCT JNO 
FROM J
WHERE JNO NOT IN(
    SELECT JNO
    FROM SPJ 
    WHERE PNO IN (
        SELECT PNO
        FROM P
        WHERE COLOR='红'
    )
    AND SNO IN(
        SELECT SNO 
        FROM S
        WHERE CITY='天津' 
    )
);

########## End ##########
8-查询所有“红色”的15公斤及以上的零件名-103325889
USE mydata;
#请在此处添加实现代码
########## Begin ##########
#pname pcolor红 pweight15
SELECT PNAME
FROM P
WHERE COLOR='红' AND WEIGHT>=15;
########## End ##########
9-查询工程名称中含有“厂”字的工程明细-103325890
USE mydata;
#请在此处添加实现代码
########## Begin ##########
SELECT *
FROM J
WHERE JNAME LIKE '%厂'

########## End ##########
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值