SQL 关系代数 解决实际问题

灵活使用关系代数和SQL解决实际问题求解

本关使用的关系说明:

product(maker,model,type)
maker:表示生产厂商
model:生产的产品型号
type:产品类型,有pc laptop printer三种

pc(model,speed,ram,hd,price)
表示型号,速度,内存大小,硬盘大小,价格

laptop(model,speed,ram,hd,screen,price)
表示型号,速度,内存大小,硬盘大小,屏幕大小和价格

printer(model,color,type,price)
表示的含义是
model:打印机型号;
color:是否彩色, T 彩色,F 黑白
type:类型,ink-jet 表示喷墨, laser 表示激光;
price:单价

第一关

编程要求
1.补全右侧代码片段中 第1题 下 Begin-End 区间的代码,查询生产pc也生产laptop的厂商。
2.补全右侧代码片段中 第2题 下 Begin-End 区间的代码,查询生产型号为2001的厂商信息及该型号所属产品的种类。
3.补全右侧代码片段中 第3题 下 Begin-End 区间的代码,查询厂商A 生产的PC中price大于900的产品型号。
4.补全右侧代码片段中 第4题 下 Begin-End 区间的代码,查询生产ink-jet的打印机的厂商及价格。
5.补全右侧代码片段中 第5题 下 Begin-End 区间的代码,查询厂商B生产的所有产品的型号和价格。

USE test_wyy_db_guet
GO

SET NOCOUNT ON

 
-- ********** Begin ********** --
-- ********** 此处写第一题的SQL语句 ********** --
select maker from product
join pc on pc.model=product.model
intersect
select maker from product
join laptop on laptop.model=product.model;
-- ********** End ********** --

GO
 
-- ********** Begin ********** --
-- ********** 此处写第二题的SQL语句 ********** --

select maker, type from product where model='2001';
-- ********** End ********** --

GO

 
-- ********** Begin ********** --
-- ********** 此处写第三题的SQL语句 ********** --
select product.model
from product
join pc on pc.model =product.model
where price>'900'and maker='a';

-- ********** End ********** --

GO
-- ********** Begin ********** --
-- ********** 此处写第四题的SQL语句 ********** --
select maker,price from product
join printer on printer.model=product.model
where printer.type='ink-jet';


-- ********** End ********** --

GO
-- ********** Begin ********** --
-- ********** 此处写第五题的SQL语句 ********** --

select product.model ,pc.price
from product
join pc on pc.model=product.model
where maker='b'
union
select product.model ,laptop.price
from product
join laptop on laptop.model=product.model
where maker='b'
union
select product.model ,printer.price
from product
join printer on printer.model=product.model
where maker='b';
-- ********** End ********** --

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值