`
猪↘專屬|华
  • 浏览: 164092 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

oracle 10g练习

阅读更多

oracle 的饭后练习:

--顾客表
create table customer(
 customerID number(4) primary key,--顾客编号
 customer_name varchar2(20),--顾客姓名
 customer_add varchar2(40),--顾客地址
 customer_bir date,--顾客生日
 customer_tele varchar2(20)--顾客电话
 );
--插入数据
insert into customer values(1,'陆丰燕','北京西戎线胡同211号','08-5月-79','8769888');
insert into customer values(2,'陈家驹','北京东戎线胡同300号','01-9月-76','8888888');
insert into customer values(3,'王莲良','北京西戎线胡同298号','09-5月-83','6523144');
insert into customer values(4,'元件是','北京西戎线胡同297号','08-4月-62','1234567');
insert into customer values(5,'色那边','北京西戎线胡同200号','08-5月-77','8989898');

--员工表
create table employees(
 empID number(4) primary key,--员工编号
 emp_name varchar2(20),--员工姓名
 hire_date date,--受雇日期
 mgrID number(4),--经理编号
 sal number(7,2),--工资
 comm_rate number(7,2)--佣金比例
 );
--插入数据
insert into employees values (1,'tom','05-8月-99',2,1520,0.04);
insert into employees values (2,'mike','11-2月-78',null,4520,null);
insert into employees values (3,'jack','02-11月-98',1,820,0.03);

--定单表
create table orders(
 orderID number(4) primary key,--定单编号
 order_date date,--定单日期
 customerID number(4) references customer(customerID),--顾客编号
 empID number(4) references employees(empID)--员工编号
 );
--插入数据
--10张订单
insert into orders values(1,'05-7月-05',1,1);
insert into orders values(2,'08-7月-05',2,2);
insert into orders values(3,'15-7月-05',3,3);
insert into orders values(4,'25-8月-05',4,3);
insert into orders values(5,'08-8月-05',5,2);
insert into orders values(6,'03-8月-05',2,1);
insert into orders values(7,'02-7月-05',2,1);
insert into orders values(8,'12-7月-05',1,2);
insert into orders values(9,'6-9月-05',3,3);
insert into orders values(10,'31-10月-05',5,3);

--供应商表
create table provider(
 providerID number(4) primary key,--供应商编号
 provider_name varchar2(20),--供应商名称
 provider_add varchar2(40),--供应商地址
 provider_tel varchar2(20),--供应商电话
 account varchar2(40),--供应商帐号
 email varchar2(40)--供应商电子邮件
 );
--插入数据
insert into provider values
 (11,'中兴','北京','010564578','95588123456789','mmm@123.com');
insert into provider values
 (12,'大华','上海','021564578','95599123456789','kkk@123.com');
insert into provider values
 (13,'何氏','广州','020564578','95500123456789','fff@123.com');
 
--商品类别表
create table categorys(
 categoryID number(4) primary key,--种类编号
 category_name varchar2(20),--种类名称
 category_desc varchar2(40)--种类描述
 );
--插入数据
insert into categorys values(1,'生鲜','鸡鸭鱼肉,冷冻食品');
insert into categorys values(2,'杂货','厨房用品等');
insert into categorys values(3,'食品','生鲜以外的食品');
insert into categorys values(4,'日用','服装,纺织类');

--商品表
create table products(
 productID number(4) primary key,--商品编号
 product_name varchar2(20),--商品名称
 income_price number(7,2),--进货单价
 providerID number(4) references provider(providerID),--供应商编号
 quantity number(4),--库存数量
 sales_price number(9,2),--出售单价
 categoryID number(4) references categorys(categoryID)--类别编号
 );
--插入数据
insert into products values(1 ,'大宝',80 ,11,10,100,1);
insert into products values(2 ,'冰箱',60 ,12,30,80,3);
insert into products values(3 ,'彩电',30 ,13,20,50,2);
insert into products values(4 ,'牙膏',100,12,100,120,3);
insert into products values(5 ,'洗衣机',20 ,11,20,1000,1);
insert into products values(6 ,'微波炉',90 ,13,10,500,2);
insert into products values(7 ,'手纸',1,12,100,10,3);
insert into products values(8 ,'一次性纸杯',2 ,12,200,20,2);
insert into products values(9 ,'电脑',500,11,5,200,2);
insert into products values(10,'拖鞋',200,11,2,100,3);
insert into products values(11,'明星照片',300,13,100,350,1);
insert into products values(12,'502胶水',100,11,100,150,1);
insert into products values(13,'84消毒液',100,12,300,150,2);
insert into products values(14,'扑克牌',50 ,13,100,100,1);
insert into products values(15,'音响',90 ,11,5,100,3);

--折扣定单表
create table order_detail(
 orderID number(4) references orders(orderID),--定单编号
 productID number(4) references products(productID),--商品编号
 quantity number(4),--数量
 discount number(4,2),--折扣
 primary key(orderID,productID));
--插入数据
--每个订单至少有2个商品
insert into order_detail values(1,1,10,0.9);
insert into order_detail values(1,2,10,0.9);
insert into order_detail values(1,3,10,0.9);
insert into order_detail values(1,4,10,0.9);
insert into order_detail values(2,1,10,0.9);
insert into order_detail values(2,2,10,0.9);
insert into order_detail values(2,3,10,0.9);
insert into order_detail values(2,4,10,0.9);
insert into order_detail values(3,1,10,0.9);
insert into order_detail values(3,2,10,0.9);
insert into order_detail values(3,3,10,0.9);
insert into order_detail values(3,4,10,0.9);
insert into order_detail values(4,5,10,0.9);
insert into order_detail values(4,6,10,0.9);
insert into order_detail values(4,7,10,0.9);
insert into order_detail values(4,8,10,0.9);
insert into order_detail values(5,9,10,0.9);
insert into order_detail values(5,10,10,0.9);
insert into order_detail values(5,11,10,0.9);
insert into order_detail values(5,12,10,0.9);
insert into order_detail values(5,13,10,0.9);
insert into order_detail values(6,14,10,0.9);
insert into order_detail values(6,15,10,0.9);
insert into order_detail values(6,1,10,0.9);
insert into order_detail values(6,2,10,0.9);
insert into order_detail values(7,3,10,0.9);
insert into order_detail values(7,4,10,0.9);
insert into order_detail values(7,5,10,0.9);
insert into order_detail values(7,6,10,0.9);
insert into order_detail values(8,7,10,0.9);
insert into order_detail values(8,8,10,0.9);
insert into order_detail values(8,9,10,0.9);
insert into order_detail values(8,10,10,0.9);
insert into order_detail values(9,11,10,0.9);
insert into order_detail values(9,12,10,0.9);
insert into order_detail values(9,13,10,0.9);
insert into order_detail values(9,14,10,0.9);
insert into order_detail values(10,15,10,0.9);
insert into order_detail values(10,1,10,0.9);
insert into order_detail values(10,2,10,0.9);
insert into order_detail values(10,3,10,0.9);

--已知一张订单号是2,查询该订单的订单额
select sum(p.sales_price*o.quantity*o.discount) as 订单额
from order_detail o,products p
where o.productid=p.productid and o.orderid=2

--统计7月的总销售额
select sum(p.sales_price*o.quantity*o.discount) as zong
from order_detail o,products p ,(select orderid as sid from orders where order_date>='01-7月-05' 
and order_date<='31-7月-05') s
where o.productid=p.productid and o.orderid=s.sid

--7-8月的所有订单
 select * from orders
where order_date>='01-7月-05' and order_date<='31-8月-05'

--7-8月所有订单的明细
select os.orderid as 订单编号,c.customer_name as 顾客,ps.product_name
 as 商品名称,
ps.sales_price*od.quantity*od.discount as 订单总价
,p.provider_name as 供应商,
os.order_date as 订单日期 from orders os, order_detail od,customer c ,
provider p,products ps,employees em
where order_date>='01-7月-05' and order_date<='31-8月-05'
and os.customerid=c.customerid and os.empid=em.empid
and os.orderid=od.orderid and od.productid=ps.productid
and ps.providerid=p.providerid

 

--把明细和产品表连接,以便于获得价格 
select os.orderid as 订单编号,c.customer_name as 顾客,ps.product_name
 as 商品名称,
ps.sales_price*od.quantity*od.discount as 订单总价
,p.provider_name as 供应商,
os.order_date as 订单日期 from orders os, order_detail od,customer c ,
provider p,products ps,employees em
where os.customerid=c.customerid and os.empid=em.empid


--计算7月的销售利润,包含折扣
select sum(p.sales_price*o.quantity*o.discount)-sum(p.income_price*o.quantity) as zong
from order_detail o,products p ,(select orderid as sid from orders where order_date>='01-7月-05' 
and order_date<='31-7月-05') s
where o.productid=p.productid and o.orderid=s.sid

 

--某顾客7-8月之间,在商场购物多少次(已知:顾客姓名)
select count(os.order_date) from orders os,customer c where
os.customerid=c.customerid and c.customer_name=? and
order_date>='01-7月-05' and order_date<='31-8月-05'


--某顾客7-8月之间,在商场购买的所有商品(已知:顾客姓名)
select ps.product_name as 商品名称,
from orders os, order_detail od,customer c ,
provider p,products ps
where order_date>='01-7月-05' and order_date<='31-8月-05'
and os.customerid=c.customerid and os.empid=em.empid


--某顾客7-8月之间,在商场购物总共花费多少钱(已知:顾客姓名)

 

--7-8月每个类别的商品销售额最多的商品是哪种?

select p.productid as pid,c.category_name,max(sum(or.quantity*or.dicount*p.sales_price))
form products p ,categorys c,order_detail or,orders o
where p.categoryid=c.categoryid,p.prductid=or.productid and ;;;;;
group by p.productid,c.category_name

 

 


--商品id,7-8月的销售数量,销售价格

--计算每个商品的销售数量

 

 

分享到:
评论

相关推荐

    oracle10g课堂练习I(1)

    Oracle Database 10 g :“g”代表网格 1-6 Oracle 数据库体系结构 1-8 数据库结构 1-9 Oracle 内存结构 1-10 进程结构 1-12 Oracle 实例管理 1-13 服务器进程和数据库缓冲区高速缓存 1-14 物理数据库结构 1-...

    oracle10g课堂练习II.part1.rar

    oracle10g课堂练习II.part1.rar oracle10g课堂练习II.part1.rar

    ORACLE 10G OCP 题库

    通过这套题库,考生可以对Oracle 10g数据库的各个方面进行全面复习和实战练习,有助于提高对Oracle 10g的理解和应用能力,从而顺利通过OCP认证考试。每套试题都应认真对待,结合理论学习和实际操作,以达到最佳的...

    Oracle10g官方中文文档

    在"Oracle10g数据库管理042课堂练习I_1"和"I_2"中,可能涉及了这些主题的实际操作和案例研究,通过这些练习,读者可以加深对Oracle 10g数据库管理的理解,提升实际操作能力。掌握这些知识和技能,将使你能够有效地...

    oracle10g 文档

    ### Oracle10g 关键知识点解析 #### 一、Oracle Database 10g 概述 - **版本信息**:Oracle Database 10g 是 Oracle 公司在 2004 年发布的一个数据库管理系统版本,其中的 "g" 字母代表 "grid"(网格),强调了该...

    oracle11g课堂练习I(1-2)中文版

    本资料集“Oracle11g课堂练习I(1-2)中文版”是针对初学者和学生设计的官方培训教程,旨在帮助学习者掌握Oracle 11g的基础知识和操作技能。 在Oracle 11g的学习中,首先会接触到的是数据库的基本概念,包括数据库的...

    Oracle数据库SQL练习

    "SQL10G.CHM"可能是一个关于Oracle 10g版本的SQL参考手册或教程,其中包含了该版本SQL语法的详细信息。10g是Oracle数据库的一个重要版本,引入了许多新的特性和功能,如Real Application Clusters (RAC)和Automatic ...

    Oracle Database 11g:数据库管理-课堂练习I .rar

    在Oracle Database 11g的课堂练习I中,你可能将接触到以下实践: 1. **创建与删除用户**:学习如何创建具有特定权限的用户,以及如何在不再需要时安全地删除用户。 2. **表的创建与操作**:理解DDL(Data Definition...

    oracle 10g学习资料

    通过深入学习这些知识点,并结合实际操作练习,可以全面掌握Oracle 10g数据库的基础知识,为成为数据库管理员或开发人员奠定坚实基础。记得,实践是最好的老师,尝试在真实的环境中应用这些理论,将有助于加深理解和...

    oracle 10g ocp 043题库

    043题库是针对Oracle 10g OCP认证考试的一个练习资源,旨在帮助考生准备考试并提升通过率。该题库的描述提到2011年10月有熟人通过了考试且满分通过,表明题库的覆盖率相当高,意味着它包含了大量的实际考试可能遇到...

    oracle10g大学(mmc学院)考试复习资料

    Oracle 10g是Oracle公司推出的数据库管理系统的一个重要版本,主要针对企业级应用,提供了高效、稳定和安全的数据存储与管理功能。对于MMC学院的学生来说,掌握Oracle 10g的相关知识是考试的重要部分。本套复习资料...

    Oracle 10g 学习课件

    Oracle 10g是其第十个主要版本,发布于2003年,引入了许多创新特性,提升了性能、可靠性和易用性。 1. **Oracle数据库基础** - 数据库概念:了解关系型数据库的基本原理,如表、索引、视图、存储过程等。 - SQL...

    Oracle 10g管理及应用》-王路群-电子教案及练习.rar

    这个压缩包文件“Oracle 10g管理及应用》-王路群-电子教案及练习.rar”包含了由专家王路群编写的关于Oracle 10g管理与应用的电子教程和相关练习,旨在帮助学习者深入理解和掌握Oracle数据库的关键技术和实践操作。...

    Oracle Database 11g、10g 数据库管理- 课堂练习II

    Oracle Database 11g和10g是两个重要的版本,为全球的企业级数据管理提供了强大的支持。这些课堂练习旨在帮助学习者深入理解Oracle数据库的管理和维护,提升他们在实际工作中的技能。 Oracle Database 11g引入了...

    oracle10g课堂练习II(1_2)中文版

    这个“Oracle10g课堂练习II(1_2)中文版”显然是一份专为学习Oracle 10g设计的教学资料,由Tom Best和Maria Billings两位专家编写,旨在帮助学员深入理解和掌握Oracle数据库的相关技能。 一、Oracle 10g基础 Oracle ...

    Oracle11g数据库基础教程第2版习题答案作者张凤荔王瑛李晓黎等28942-练习题参考答案

    Oracle11g数据库基础教程第2版习题答案作者张凤荔王瑛李晓黎等28942-练习题参考答案.pdf

    韩顺平玩转oracle10g实战教程第1-7讲

    Oracle 10g是Oracle公司推出的企业级数据库管理系统,它在数据库管理、性能优化、安全性以及数据仓库等方面具有显著的特点。本系列教程由知名讲师韩顺平精心制作,旨在帮助学员深入理解和掌握Oracle 10g的实战技能,...

    Oracle Database 10g:数据库管理- 课堂练习I

    ### Oracle Database 10g:数据库管理核心知识点详解 #### 一、Oracle Database 10g 概述 - **“g”代表网格**:在Oracle Database 10g中,“g”代表“Grid”,表明该版本支持网格计算,允许在多台计算机之间分配...

Global site tag (gtag.js) - Google Analytics