练习.txt

来自「orale培训教材包括了所有的sql说明和实例」· 文本 代码 · 共 69 行

TXT
69
字号
--练习.txt:一个更有商业含意的例子
--商品信息表
drop table sm_itemlist;

create table sm_itemlist
       	(
	itemID 		char(5) 	,--商品编号 	
	itemname	varchar(20)	,   --商品名称
	tax             number(6,2)     ,   --营业税(按照销售价的百分比计算)
	purchase_price	number(8,2)	,   --购入价格
	sale_price	number(8,2)	,   --销售价格
	amount		number(4)	,  --库存数量
	unit		varchar(6)	  --商品单位
	);
insert into sm_itemlist values('00001','TCL彩电',0.03,800,1000,20,'台');
insert into sm_itemlist values('00002','NEC彩电',0.03,900,1200,10,'台');
insert into sm_itemlist values('00003','联想电脑',0.05,9000,12000,10,'台');
insert into sm_itemlist values('00004','海尔电脑',0.05,8000,10000,10,'台');



--全部商品打8折,求出打折后各商品的价格
select itemname , sale_price * 0.8 from sm_itemlist;
--求出各库存商品占用的资金
select itemname , purchase_price * amount from sm_itemlist;
--求出各库存商品完全售出要交的税
select itemname , sale_price * amount * tax from sm_itemlist;

select sum(purchase_price * amount) from sm_itemlist;



--求出各库存商品完全售出的净利润=利润-投资
select itemname , sale_price * amount * (1-tax)-purchase_price * amount from sm_itemlist;
--求出各库存商品的利润率 = 利润 / 投资
select itemname , 
(sale_price * amount * (1-tax)-purchase_price * amount) / (purchase_price * amount)
from sm_itemlist;
--或
select itemname , 
(sale_price * (1-tax)-purchase_price ) / (purchase_price)
from sm_itemlist;



-------------null -----------------
--null对计算的影响
--营业税为null
insert into sm_itemlist 
values('00005','海尔电脑null',null,8000,10000,10,'台');
--全部商品打8折,求出打折后各商品的价格
select itemname , sale_price * 0.8 from sm_itemlist;
--求出各库存商品完全售出要交的税
select itemname , sale_price * amount * tax from sm_itemlist;
--求出各库存商品完全售出的净利润
select itemname , sale_price * amount * (1-tax)-purchase_price * amount from sm_itemlist;

--为避免出现null的问题,在设计时应更好考虑字段的null属性
--这是一个更好的设计
create table sm_itemlist
       	(
	itemID 		char(5) 	not null,--商品编号 	
	itemname	varchar(20)	not null,   --商品名称
	tax             number(6,2)     not null,   --营业税
	purchase_price	number(6,2)	not null,   --购入价格
	sale_price	number(6,2)	not null,   --销售价格
	amount		number(4)	not null,  --库存数量
	unit		varchar(6)	not null   --商品单位
	);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?