mysql建立spj_数据库概论——SQL练习一(SPJ零件问题)

本文介绍了在MySQL环境下,基于SPJ(供应商、零件、工程)关系模式的SQL查询练习,包括:查询没有供应特定零件的供应商、显示所有供应商及其供应的零件、查找向不同城市工程供应零件的供应商、供应相同城市工程零件的供应商、供应所有零件和红色零件的供应商,以及计算每个城市工程使用零件的总数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统:

MySQL 8.0.19

题目:

三张表:

S(SNO, SNAME, STATUS, CITY)

P(PNO, PNAME, COLOR, WEIGHT, CITY)

J(JNO, JNAME,CITY)

SPJ(SNO, PNO, JNO, PRICE, QTY)

S表示供应商,各属性依次为供应商号,供应商名,供应商状态值,供应商所在城市;

P表示零件,各属性依次为零件号,零件名,零件颜色,零件重量,零件存放的城市;

J表示工程,各属性依次为工程号,工程名,工程所在城市;

SPJ表示供货关系,各属性依次为供应商号,零件号,工程号,单价, QTY。

基于以上SPJ关系模式用SQL完成下面的查询:

问题1:

求没有供应零件号为P1和P2两种零件的供应商姓名。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 select SNAME

2 from S

3 where SNO not in

4 (

5 select SNO

6 from SPJ

7 where PNO = 'P1' or PNO = 'P2'

8 );

View Code

注意:不是“即没有P1也没有P2零件”,而是“没有P1或没有P2零件”。

问题2:

列出所有供应商的信息,包括供应商姓名、所供应的零件名(没有供应零件的供应商也要列出,最后结果中不要出现重复元组。

8f900a89c6347c561fdf2122f13be562.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值