数据库 视图的定义和使用

题目:
商品(编号,品名,进价,库存,售价,厂商编号)
顾客(卡号,姓名,电话,积分)
厂商(编号,厂址,名称、电话)
销售(顾客卡号,商品编号,数量,日期)
1 根据上面基本表的信息定义视图显示每种商品的品名、销售数量
2 观察基本表数据变化时,视图中数据的变化。
3利用视图,查询销售数量最高的商品。

create table 商品
(编号 bigint,
 品名 nchar(30),
 进价 float,
 库存 int,
 售价 float,
 厂商编号 bigint,
 primary key(编号)
);

create table 顾客
(卡号 bigint,
 姓名 nchar(15),
 电话 bigint,
 积分 float,
 primary key(卡号)
);

create table 厂商
(编号 bigint,
 厂址 nchar(30),
 名称 nchar(30),
 电话 bigint,
 primary key(电话),
);

create table 销售
(顾客卡号 bigint,
 商品编号 bigint,
 数量 int,
 日期 nchar(20),
);



alter table 商品
add constraint fksc1
check(进价 between 0 and 200)

alter table 商品
add constraint fksc2
check(售价 between 20 and 300)

alter table 顾客
add constraint fksc3
check(积分 between 0 and 5000)

alter table 商品
add constraint fksc4
check(库存 between 0 and 5000)

alter table 销售
add constraint fksc5
foreign key(商品编号) references 商品(编号)



insert into 商品(编号,品名,进价,库存,售价,厂商编号)
values(101,'伊利牛奶',88,2000,100,3541);
insert into 商品(编号,品名,进价,库存,售价,厂商编号)
values(102,'蒙牛牛奶',90,2000,120,3542);
insert into 商品(编号,品名,进价,库存,售价,厂商编号)
values(103,'旺旺牛奶',98,2000,150,3543);
insert into 商品(编号,品名,进价,库存,售价,厂商编号)
values(104,'旺旺雪饼',67,2000,150,3543);
insert into 商品(编号,品名,进价,库存,售价,厂商编号)
values(105,'旺旺仙贝',87,2000,150,3543);
insert into 商品(编号,品名,进价,库存,售价,厂商编号)
values(106,'旺旺qq糖',78,2000,150,3543);
insert into 商品(编号,品名,进价,库存,售价,厂商编号)
values(107,'旺旺小小酥',65,2000,150,3543);
insert into 商品(编号,品名,进价,库存,售价,厂商编号)
values(108,'旺旺泡芙',102,2000,150,3543);

insert into 顾客(卡号,姓名,电话,积分)
values(1702043,'王博',13709999999,89);
insert into 顾客(卡号,姓名,电话,积分)
values(1702044,'李卫',15033333333,121);
insert into 顾客(卡号,姓名,电话,积分)
values(1702045,'李帅',18004444444,105);

insert into 厂商(编号,厂址,名称,电话)
values(3541,'内蒙古','伊利乳品',14888888888);
insert into 厂商(编号,厂址,名称,电话)
values(3542,'内蒙古','蒙牛乳品',15044555555);
insert into 厂商(编号,厂址,名称,电话)
values(3543,'台湾','旺旺乳品',16099999999);

insert into 销售(顾客卡号,商品编号,数量,日期)
values(1702043,103,1234,'20190203');
insert into 销售(顾客卡号,商品编号,数量,日期)
values(1702044,104,1432,'20190204');
insert into 销售(顾客卡号,商品编号,数量,日期)
values(1702045,105,678,'20190205');
insert into 销售(顾客卡号,商品编号,数量,日期)
values(1702045,106,435,'20190206');
insert into 销售(顾客卡号,商品编号,数量,日期)
values(1702045,107,512,'20190207');
insert into 销售(顾客卡号,商品编号,数量,日期)
values(1702045,102,1111,'20190208');



select * from 商品

select * from 顾客

select * from 厂商

select * from 销售

delete from 商品

delete from 顾客 

delete from 厂商

delete from 销售

--一
create view shop
as
select 商品.品名,销售.数量
from 商品,销售
where 销售.商品编号 = 商品.编号

select 品名,数量'销售数量'
from shop

    
--二
update 商品 
set 品名='旺仔qq糖' 
where 编号=106

update 销售 
set 数量=1432
where 商品编号=106

select 品名,数量'销售数量'
from shop

--三
select 品名,数量'销售数量'
from shop
where 数量 =
		(
		select MAX(数量)'销售数量'
		from shop
		)
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只爭朝夕不負韶華

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值