1、用户信息表,用于存储用户的基本信息,如用户名,手机号,密码,头像等。
2、商品信息表,用于存储商品的基本信息,如商品名称,价格,描述,图片等。
3、订单信息表,用于存储订单的基本信息,如订单号,下单用户,商品信息,价格等。
4、收货地址表,用于存储用户收货地址信息,如收货人姓名,收货地址,联系电话等。
5、商品分类表,用于存储商品分类的基本信息,如分类名称,分类图片等。
6、商品属性表,用于存储商品属性的基本信息,如属性名称,属性值等。
7、购物车表,用于存储用户购物车信息,如用户ID,商品ID,商品数量等。
8、优惠券表,用于存储优惠券信息,如优惠券类型,优惠价格等。
9、评价表,用于存储商品评价信息,如评价内容,评分等。
数据库:oracle1)对“商品信息表”查询,显示商品标识为101的商品记录。
select 商品信息表.商品标识, 商品信息表.商品名称, 商品信息表.产地, 商品信息表.进货价
from 商品信息表
where 商品标识 = '101'
2)对“商品信息表”查询,显示各球拍的信息。(提示:商品名称中带有“球拍”的记录)
select 商品信息表.商品标识, 商品信息表.商品名称, 商品信息表.产地, 商品信息表.进货价
from 商品信息表
where 商品名称 like '%球拍%'
3)对“商品信息表”查询,显示进货价在100到400之间的商品信息。
select 商品信息表.商品标识, 商品信息表.商品名称, 商品信息表.产地, 商品信息表.进货价
from 商品信息表
where 进货价 between 100 and 400
4)对“商品销售记录表”查询,按商品标识由小到大,销售价格由多到少的顺序对各销售记录排序。
select 商品销售记录表.商品标识, 商品销售记录表.销售日期, 商品销售记录表.销售数量, 商品销售记录表.销售价格
from 商品销售记录表
order by 商品销售记录表.商品标识, 商品销售记录表.销售价格 desc
5) 查询“商品销售记录表”,显示销售价格最大和最小的销售记录。
select 商品销售记录表.商品标识, 商品销售记录表.销售日期, 商品销售记录表.销售数量, 商品销售记录表.销售价格
from 商品销售记录表, (select Min(商品销售记录表.销售价格) 最小销售价格, Max(商品销售记录表.销售价格) 最大销售价格
from 商品销售记录表
) 临时商品销售记录表
where 商品销售记录表.销售价格 = 临时商品销售记录表.最小销售价格
or 商品销售记录表.销售价格 = 临时商品销售记录表.最大销售价格
如果只查销售最大、最小销售价格,使用括号中的查询语句
6) 查询“商品信息表”,按商品名称分组统计商品的平均进货价。
select 商品信息表.商品名称, avg(商品信息表.进货价) 平均进货价
from 商品信息表
group by 商品信息表.商品名称
7) 查询“商品销售记录表”,按“商品标识”统计每个商品的销售总和,并且只显示销售总和在800以上的统计结果。
select 商品销售记录表.商品标识, sum(商品销售记录表.销售数量) 合计销售数量, sum(商品销售记录表.销售价格) 合计销售价格
from 商品销售记录表
group by 商品销售记录表.商品标识
having sum(商品销售记录表.销售价格) >= 800
8) 使用UPDATE语句修改“商品信息表”表中数据,把产地为广州的所有商品的进货价提高15%。
update 商品信息表 set 商品信息表.进货价 = 商品信息表.进货价 * 0.15
where 商品信息表.产地 = '广州'
9) 从“商品信息表”和“商品销售记录表” 创建视图,按“商品标识”统计每种商品的销售数量。(将该视图命名为:商品销售数量视图,要求该视图能显示出商品标识、商品名称、销售数)
-- 语句一
create or replace view 商品销售数量视图 as
select 商品信息表.商品标识, 商品信息表.商品名称, sum(商品销售记录表.销售数量) 销售数
from 商品信息表, 商品销售记录表
where 商品信息表.商品标识 = 商品销售记录表.商品标识
group by 商品信息表.商品标识, 商品信息表.商品名称
-- 语句二
create or replace view 商品销售数量视图 as
select 商品信息表.商品标识, min(商品信息表.商品名称) 商品名称, sum(商品销售记录表.销售数量) 销售数
from 商品信息表, 商品销售记录表
where 商品信息表.商品标识 = 商品销售记录表.商品标识
group by 商品信息表.商品标识
10) 从“商品销售记录表”中按商品标识分类统计各商品的总售价、销售数量和平均售价,并按平均售价由高到低排序。
select 商品销售记录表.商品标识, sum(商品销售记录表.销售数量) 销售数量, sum(商品销售记录表.销售价格) 总售价, avg(商品销售记录表.销售价格) 平均售价
from 商品销售记录表
group by 商品销售记录表.商品标识
order by avg(商品销售记录表.销售价格) desc
11) 对“商品信息表”和“商品销售记录表”联接查询,显示每笔销售记录的利润,要求显示商品名称、销售日期、销售价格、进货价和利润。
select 商品信息表.商品名称, 商品销售记录表.销售日期, 商品销售记录表.销售价格, 商品信息表.进货价, 商品销售记录表.销售价格 - 商品信息表.进货价 利润
from 商品信息表, 商品销售记录表
where 商品信息表.商品标识 = 商品销售记录表.商品标识
12) 检索没有任何一天销售数量在10以下的所有商品信息,包括商品名称、产地和进货价。(提示:可用子查询实现)
--
select 商品信息表.商品标识, 商品信息表.商品名称, 商品信息表.产地, 商品信息表.进货价
from 商品信息表
where 商品信息表.商品标识 not in (select 商品销售记录表.商品标识
from 商品销售记录表
where 商品销售记录表.销售数量 <10
)
select t1.inforname as 名称,inforcount as 原库存,isnull(ordercount,0) as 销售数量,isnull(ordermoney,0) as 销售金额,inforcount-isnull(ordercount,0) as 剩余库存from information t1 left join
(select inforid,sum(ordercount) as ordercount,sum(ordermoney) as ordermoney from order where orderdate between '2017-01-15' and '2017-01-17' group by orderid) t2
on t1.inforid=t2.inforid order by t1.inforid
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)