分数 10
全屏浏览题目
切换布局
作者 lhm
单位 河北农业大学
本题目要求编写SQL语句,
查询由生产厂商B
生产的所有产品的型号(model) 和价格(price)。
提示:查询按照pc、laptop和printer的顺序进行。
表结构:
CREATE TABLE product
( maker CHAR(20) , --制造商
model CHAR(20) NOT NULL, --产品型号
type CHAR(20), --产品类型
PRIMARY KEY(model)
);
CREATE TABLE laptop
( model CHAR(20) NOT NULL, --型号
speed DECIMAL(6,2), --速度
ram INT, --内存
hd DECIMAL(6,2), --硬盘容量
screen DECIMAL(6,2), --屏幕大小
price INT, --价钱
PRIMARY KEY(model),
FOREIGN KEY(model) REFERENCES product(model)
);
CREATE TABLE printer
( model CHAR(20) NOT NULL, --型号
color BIT, --是否彩色
type CHAR(10), --类型
price INT, --价钱
PRIMARY KEY(model),
FOREIGN KEY(model) REFERENCES product(model)
);
CREATE TABLE pc
( model CHAR(20) NOT NULL, --型号
speed DECIMAL(6,2), --速度
ram INT, --内存
hd DECIMAL(6,2), --硬盘容量
cd CHAR(4), --光驱
price INT, --价钱
PRIMARY KEY(model),
FOREIGN KEY(model) REFERENCES product(model)
);
表样例
product
表:
maker | model | type |
---|---|---|
A | 1001 | 个人电脑 |
D | 2003 | 便携式电脑 |
D | 3001 | 打印机 |
D | 2001 | 便携式电脑 |
B | 1006 | 个人电脑 |
B | 3002 | 打印机 |
pc
表:
model | speed | ram | hd | cd | price |
---|---|---|---|---|---|
1001 | 133.00 | 16 | 1.60 | 6X | 1595 |
1006 | 200.00 | 32 | 3.1 | 8X | 2099 |
laptop
表:
model | speed | ram | hd | screen | price |
---|---|---|---|---|---|
2001 | 100.00 | 20 | 1.10 | 9.50 | 1999 |
2003 | 117.00 | 32 | 1.00 | 11.20 | 3599 |
printer
表;
model | color | type | price |
---|---|---|---|
3001 | 1 | 喷墨 | 275 |
3002 | 1 | 喷墨 | 269 |
输出样例:
model | price |
---|---|
1006 | 2099 |
3002 | 269 |
select product.model,price from product
join pc on pc.model=product.model
where maker='B'
union
select product.model,price from product
join laptop on laptop.model=product.model
where maker='B'
union
select product.model,price from product
join printer on printer.model=product.model
where maker='B'