灵活使用关系代数和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