xfxy

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-06-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-2018\', \'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\'));

commit;

 

-- 使用insert into任意添加三条数据(数据信息自定)加到这个表中

-- 删除\'猪肉\'的那条记录

-- 将扳手和钳子的商品名称分别改为\'16号扳手\'\'小号钳子\', 并将这两个商品的管理人员都改为\'赵六\'

-- 查询商品类型为\'a\'的所有商品

-- 查询王五负责的c类商品

-- 查询剩余数量小于50的所有商品

-- 查询剩余数量在60-80之间的

-- 查询商品名称带\'\'的和带\'\'的记录

-- 查询商品编号中带\'tt\'的记录

-- 查询商品类型为a, d, c的所有商品

-- 查询所有\'e\'类型商品, 并按照剩余库存数量排序

-- 查询管理商品数少于4的管理员名称和管理的商品数量

-- 查询所有的管理员名称和其手上所管理的所有商品数量

-- 查询所有的管理员名称和其手上所管理的所有\'a\'类商品名称的数量

-- 查询所有商品中剩余数量最少的一个

-- 查询生产日期在2015/5/31之前的数据

-- 假设所有商品的有效期是一年, 以当前系统时间为标准, 查询所有商品的信息, 并且加一列标注是否过期

-- 查询每个管理员所管理的商品的平均进价价格和售价价格

-- 查询每个管理员手上的商品的利润的平均值

-- 查询假设每个管理员把所有商品售完后各自的利润总和

 

答案:

--SELECT * FROM product

/*INSERT INTO product

VALUES(50,\'qqwweerr\',\'豆腐\',2.5, 3, \'张三\', 30, \'b\', 1, SYSDATE);

COMMIT;*/

 

/*DELETE product p WHERE p.pname=\'猪肉\';

COMMIT;*/

 

/*UPDATE product p SET p.pname=\'16号扳手\', p.toma=\'赵六\'

WHERE p.pname=\'扳手\';

UPDATE product p SET p.pname=\'小号钳子\', p.toma=\'赵六\'

WHERE p.pname=\'钳子\';

COMMIT;*/

 

--SELECT * FROM product p WHERE p.ptype=\'a\';

 

--SELECT * FROM product p WHERE p.ptype=\'c\' AND p.toma=\'王五\';

 

--SELECT * FROM product p WHERE p.lastcou<50;

 

--SELECT * FROM product p WHERE p.lastcou <80 AND p.lastcou > 60;

--SELECT * FROM product p WHERE p.lastcou BETWEEN 60 AND 80;

 

/*SELECT * FROM product p

WHERE p.pname LIKE \'%%\' OR p.pname LIKE \'%%\';*/

 

--SELECT * FROM product p WHERE p.pcode LIKE \'%tt%\';

 

/*SELECT * FROM product p WHERE p.ptype IN (\'a\',\'c\',\'d\');

SELECT * FROM product p WHERE p.ptype = \'a\'

OR p.ptype = \'c\'

OR p.ptype = \'d\'*/

 

--SELECT * FROM product p

--WHERE p.ptype=\'e\' ORDER BY p.lastcou ASC或者desc

 

/*SELECT p.toma, COUNT(p.pname) 管理的商品数

FROM product p GROUP BY p.toma

HAVING COUNT(p.pname) < 4*/

 

/*SELECT p.toma, COUNT(p.pname) 管理的商品数

FROM product p GROUP BY p.toma*/

 

/*SELECT p.toma, SUM(DECODE(p.ptype, \'a\', 1, 0))

FROM product p GROUP BY p.toma

SELECT p.toma, COUNT(p.ptype) FROM product p

WHERE p.ptype=\'a\' GROUP BY p.toma*/

 

/*SELECT * FROM product p

WHERE p.lastcou<=ALL(SELECT lastcou FROM product)*/

/*SELECT * FROM product p

WHERE p.lastcou=(SELECT MIN(lastcou) FROM product)*/

 

/*SELECT * FROM product p

WHERE p.createtime < to_date(\'20150531\',\'yyyymmdd\')*/

 

/*SELECT p.pname, CASE WHEN (SYSDATE-p.createtime) > 365

THEN \'过期\' ELSE \'正常\' END 是否过期

FROM product p*/

 

/*SELECT p.toma, AVG(p.inprice), round(AVG(p.outprice), 2)

FROM product p

GROUP BY p.toma*/

 

/*SELECT p.toma, AVG(p.outprice-p.inprice)

FROM product p GROUP BY p.toma*/

 

SELECT p.toma, SUM((p.outprice-p.inprice)* p.lastcou) 利润总和

FROM product p GROUP BY p.toma

分类:

技术点:

相关文章: