码迷,mamicode.com
首页 > 其他好文 > 详细

105波练习题

时间:2017-12-12 17:34:50      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:生产   tco   cas   body   记录   to_date   traints   number   pre   

drop table PRODUCT cascade constraints;
create table PRODUCT
(
  id         NUMBER not null,		--主键
  pcode      VARCHAR2(20) not null,	--商品编号
  pname      VARCHAR2(20),		--商品名称
  inprice    NUMBER(7,2),		--进价
  outprice   NUMBER(7,2),		--售价
  toma       VARCHAR2(20),		--管理员名称
  lastcou    NUMBER,			--剩余数量
  ptype      VARCHAR2(5),		--商品类型
  mark       NUMBER,			--有效标志
  createtime DATE			--生产日期
);
alter table PRODUCT
  ADD CONSTRAINT pk_product primary key (ID);

insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (1, ‘f-qq45‘, ‘香蕉‘, 2.8, 4, ‘张三‘, 12, ‘a‘, 1, to_date(‘05-05-2017‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (2, ‘f-56tt‘, ‘苹果‘, 3.4, 5, ‘张三‘, 33, ‘a‘, 1, to_date(‘16-06-2016‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (3, ‘f-332‘, ‘梨‘, 2.7, 4, ‘张三‘, 76, ‘a‘, 1, to_date(‘23-09-2016‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (4, ‘f-20‘, ‘猪肉‘, 14, 16, ‘张三‘, 56, ‘b‘, 1, to_date(‘31-12-2013‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (5, ‘f-qq46‘, ‘圆珠笔‘, 3, 5, ‘王五‘, 55, ‘e‘, 1, to_date(‘14-09-2016‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (6, ‘f-57tt‘, ‘樱桃‘, 8, null, ‘王五‘, 12, ‘a‘, 1, to_date(‘22-05-2006‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (7, ‘f-292‘, ‘三文鱼‘, 5, 8, ‘王五‘, 23, ‘b‘, 1, to_date(‘31-07-2001‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (8, ‘f-604‘, ‘螺丝刀‘, 12, 15, ‘王五‘, 72, ‘c‘, 1, to_date(‘24-02-2013‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (9, ‘f-qq47‘, ‘扳手‘, 14, 19, ‘王五‘, 90, ‘c‘, 1, to_date(‘14-05-2015‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (10, ‘f-58tt‘, ‘钳子‘, 10, 13, ‘张三‘, 97, ‘c‘, 1, to_date(‘28-03-2012‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (11, ‘f-916‘, ‘矿泉水‘, 2.5, 3, ‘李四‘, 44, ‘d‘, 1, to_date(‘21-07-2012‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (12, ‘f-1228‘, ‘杏仁露‘, 4, 5, ‘李四‘, 38, ‘d‘, 1, to_date(‘22-02-2013‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (13, ‘f-59tt‘, ‘钢笔‘, null, 43, ‘李四‘, 22, ‘e‘, 1, to_date(‘30-09-2013‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (14, ‘f-1540‘, ‘铅笔‘, .5, .8, ‘赵六‘, 72, ‘e‘, 1, to_date(‘14-05-2017‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (15, ‘f-1852‘, ‘大马哈鱼‘, 1.5, 2, ‘赵六‘, 76, ‘b‘, 1, to_date(‘17-05-2012‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (16, ‘f-2164‘, ‘鸡蛋‘, 2.7, 4, ‘赵六‘, 56, ‘b‘, 1, to_date(‘14-09-2010‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (17, ‘p-123h‘, ‘雪碧‘, 2, 3, ‘王五‘, 50, ‘d‘, 1, to_date(‘01-05-2017‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (18, ‘p-111h‘, ‘冰红茶‘, 2, 3, ‘王五‘, 40, ‘d‘, 1, to_date(‘18-05-2017‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (19, ‘p-18-h‘, ‘可乐‘, 2, 3, ‘王五‘, 30, ‘d‘, 1, to_date(‘09-05-2017‘, ‘dd-mm-yyyy‘));
insert into PRODUCT (id, pcode, pname, inprice, outprice, toma, lastcou, ptype, mark, createtime)
values (20, ‘f-qq46‘, ‘圆珠笔‘, 3, 5, ‘王五‘, 55, ‘e‘, 1, to_date(‘14-09-2016‘, ‘dd-mm-yyyy‘));
commit;

-- 为商品名称添加一个非空约束, 为剩余数量添加一个检查约束(剩余数量 >= 5)
-- 使用insert into任意添加三条数据(数据信息自定)加到这个表中
-- 删除‘猪肉‘的那条记录
-- 将‘扳手‘和‘钳子‘的商品名称分别改为‘16号扳手‘和‘小号钳子‘, 并将这两个商品的管理人员都改为‘赵六‘
-- 查询商品类型为‘a‘的所有商品, 并按照售价由大到小排序
-- 查询王五负责的c类商品
-- 查询剩余数量小于50的所有商品
-- 查询剩余数量在60-80之间的所有商品
-- 查询商品名称带‘笔‘的和带‘鱼‘的记录
-- 查询商品编号中带‘tt‘的记录
-- 查询商品类型为a, d, c的所有商品
-- !查询商品编号重复的记录, 并将他们删除
-- 查询整个表中每一类商品的剩余数量, 并按照剩余数由大到小排序
-- 查询所有‘e‘类型商品, 并按照剩余库存数量排序
-- 查询管理商品种类数量少于4的管理员名称和管理的商品种类数量

-- 查询所有的管理员名称和其手上所管理的所有商品种类数量
-- .查询所有的管理员名称和其手上所管理的所有‘a‘类商品种类数量, 数量为0的直接显示为0

-- 查询所有商品中剩余数量最少的一个
-- 查询生产日期在2015-5-31之前的数据   //棒棒哒~~

-- !假设所有商品的有效期是一年(按照365天计算), 截止到2017-06-01为标准, 查询所有商品的信息, 并且加一列标注是否过期
-- !将所有过期的商品的有效标志改为0
-- 查询每个管理员所管理的所有商品的平均进价价格和售价价格, 并四舍五入保留2位小数
-- !!查询假设每个管理员把所有商品售完后各自的利润总和(不计进价和售价为空的商品 用nvl)

 

select t.*, t.rowid from PRODUCT t;

--添加三条数据
INSERT INTO product t VALUES(21,‘xg‘,‘西瓜‘,1.99,3.00,‘
张三‘,50,‘d‘,1,to_date(20170908,‘yyyymmdd‘));
INSERT INTO product t VALUES(22,‘lb‘,‘萝卜‘,1.22,2.00,‘
李四‘,34,‘e‘,1,SYSDATE);
INSERT INTO product t VALUES(23,‘dg‘,‘冬瓜‘,1.5,2.10,‘
赵六‘,68,‘c‘,1,SYSDATE);
COMMIT;

--删除猪肉那条数据
DELETE product WHERE ID =4;
COMMIT;

--将‘扳手‘和‘钳子‘的商品名称分别改为‘16号扳手‘和‘小号钳子‘, 并将这两个商品的管理人员都改为‘赵六‘
UPDATE product t SET pname = ‘16号扳手‘ ,toma =‘赵六‘ WHERE t.id = 9;
UPDATE product t SET pname = ‘小号钳子‘,toma =‘赵六‘  WHERE t.id = 10;
COMMIT;

--查询商品类型为‘a‘的所有商品, 并按照售价由大到小排序
SELECT t.* FROM product t WHERE t.ptype = ‘a‘ ORDER BY t.outprice desc;
-- 查询王五负责的c类商品
SELECT t.* FROM product t WHERE t.toma = ‘王五‘ AND t.ptype = ‘c‘;
--查询剩余数量小于50的所有商品
SELECT t.* FROM product t WHERE t.lastcou < 50;
--查询剩余数量在60-80之间的所有商品
SELECT t.* FROM product t WHERE t.lastcou > 60 AND t.lastcou < 80 ;
--查询商品名称带‘笔‘的和带‘鱼‘的记录
SELECT t.* FROM product t where  t.pname LIKE ‘%笔%‘ OR t.pname LIKE ‘%鱼%‘
--查询商品编号中带‘tt‘的记录
SELECT t.* FROM product t WHERE t.pcode LIKE ‘%tt%‘
--查询商品类型为a, d, c的所有商品
select t.* from PRODUCT t WHERE t.ptype = ‘a‘ OR t.ptype = ‘b‘ OR  t.ptype = ‘c‘ 
--查询商品编号重复的记录, 并将他们删除 DELETE FROM product WHERE pcode =(SELECT t.pcode from PRODUCT t GROUP BY t.pcode HAVING COUNT(1)>1); COMMIT; -- 查询整个表中每一类商品的剩余数量, 并按照剩余数由大到小排序 SELECT t.* FROM product t ORDER BY t.lastcou DESC -- 查询所有‘e‘类型商品, 并按照剩余库存数量排序 SELECT t.* FROM product t WHERE t.ptype = ‘e‘ ORDER BY t.lastcou -- 查询管理商品种类数量少于4的管理员名称和管理的商品种类数量 SELECT t.toma,COUNT(1) FROM product t GROUP BY t.toma HAVING COUNT(1) < 4; -- 查询所有的管理员名称和其手上所管理的所有商品种类数量 SELECT t.toma,COUNT(1) FROM product t GROUP BY t.toma --?!查询所有的管理员名称和其手上所管理的所有‘a‘类商品种类数量, 数量为0的直接显示为0 SELECT t.toma 管理员,nvl(count(t.ptype),0) 种类 FROM product t
WHERE t.ptype = ‘a‘ GROUP BY t.toma SELECT t.toma,COUNT(1) FROM product t
WHERE t.ptype = ‘a‘ GROUP BY t.toma -- 查询所有商品中剩余数量最少的一个 --SELECT * FROM product t WHERE t.lastcou <= ALL(SELECT t2.lastcou FROM product t2 ) SELECT * FROM product t WHERE t.lastcou = (SELECT MIN(t.lastcou) FROM product t ); -- 查询生产日期在2015-5-31之前的数据 SELECT t.* FROM product t WHERE t.createtime > (to_date(20150531,‘yyyymmdd‘)) -- !!假设所有商品的有效期是一年(按照365天计算), 截止到2017-06-01为标准, 查询所有商品的信息, 并且加一列标注是否过期 SELECT t.pname 商品名,CASE WHEN to_date(20170601,‘yyyymmdd‘) -t.createtime > 365 THEN ‘过期‘ ELSE ‘保质期内‘ END 是否过期 FROM product t -- !将所有过期的商品的有效标志改为0 UPDATE product t SET t.mark = 0 WHERE to_date(20170601,‘yyyymmdd‘) -t.createtime > 365; COMMIT; -- 查询每个管理员所管理的所有商品的平均进价价格和售价价格, 并四舍五入保留2位小数 SELECT t.toma,ROUND (AVG (t.inprice),2) 平均进价 , ROUND (AVG (t.outprice),2) 平均售价 from PRODUCT t GROUP BY t.toma; -- !查询假设每个管理员把所有商品售完后各自的利润总和(不计进价和售价为空的商品) SELECT t.toma 管理员, SUM ((nvl(t.outprice,0) - nvl(t.inprice,0))*t.lastcou) 利润总和 from PRODUCT t GROUP BY t.toma

  

  

 

105波练习题

标签:生产   tco   cas   body   记录   to_date   traints   number   pre   

原文地址:http://www.cnblogs.com/ziyanxiaozhu/p/8028364.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!