SQL练习3:商品销售数据库

这篇博客聚焦于SQL练习,涉及一个商品销售数据库。数据库包含Article(商品号,商品名,单价,库存量),Customer(顾客号,顾客名,性别,年龄)和OrderItem(顾客号,商品号,数量,日期)三张表。提供了相关练习题和答案链接,帮助读者加深对SQL查询的理解。

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

参考:http://bbs.51cto.com/thread-572907-1.html

商品销售数据库
Article(商品号 char(4),商品名char(16),单价 Numeric(8,2),库存量 int)      
Customer(顾客号char (4),顾客名 char (8),性别 char(2),年龄 int)
OrderItem(顾客号 char(4),商品号 char(4),数量 int, 日期 date)

--检索至少定购商品号为‘0001’和‘0002’的顾客号。(用交的方法)  
select 顾客号 from OrderItem where 商品号='0001' and 顾客号 in
(
select 顾客号 from OrderItem where 商品号='0002');

--检索至少定购商品号为‘0001’和‘0002’的顾客号。(用自表连接方法)
select X. 顾客号 from OrderItem X,OrderItem Y
where X.顾客号=Y.顾客号 and X.商品号='0001' and Y. 商品号='0002';

 

--创建一个视图GM,字段包括:顾客号,顾客名和定购的商品名,日期和金额(金额=数量*单价)。指定用内连接方式做。
create view GM as
select Custommer.顾客号,顾客名,商品名,日期,单价*数量 as 金额
from Custommer,Article,OrderItem
where Custommer.顾客号=OrderItem.顾客号 and Article.商品号=OrderItem.商品号

create view GM1 as
select Custommer.顾客号,顾客名,商品名,日期,单价*数量 as 金额
from (Custommer inner join OrderItem on Custommer.顾客号=OrderItem.顾客号)
inner join Article on Article.商品号=OrderItem.商品号

 下面是总体的练习题及答案:

--S Q L   习   题

--商品销售数据库
--
Article(商品号 char(4),商品名char(16),单价 Numeric(8,2),库存量 int)
--
Customer(顾客号char (4),顾客名 char (8),性别 char(2),年龄 int)
--
OrderItem(顾客号 char(4),商品号 char(4),数量 int, 日期 date)
 
  
-- 1 用SQL建立三个表,须指出该表的实体完整性和参照完整性,对性别和年龄指出用户自定义的约束条件。(性别分成男女,年龄从10到100)。顾客表的数据用插入语句输入数据,其它两表可用任意方式输入数据。




create table OrderItem (顾客号 char ( 4 ),商品号 char ( 4 ),日期 datetime ,数量 smallint ,
primary key (顾客号,商品号,日期),
foreign key (商品号) references Article (商品号),
foreign <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值