Oracle表的常用查询实验(七)
1.问题描述:
有一个商品信息表,该表反应了各种商品的销售情况,一个产品是按照gid和gname两个字段来区分的,一个产品可能会有多个型号。
createtableT_Goods
(
Idintprimarykey,
GIdvarchar2(10)notnull,
GNamevarchar2(20)notnull,
GColourvarchar2(10),
GWithinint,
GSizevarchar2(10),
GNumberint
)
CREATESEQUENCEseq_goods
INCREMENTBY1
STARTWITH1
NOMAXVALUE
NOCYCLE
CACHE10;
现要将各种商品各种型号的销售情况进行汇总统计,达到如下效果:
2.需求分析:
分类统计--->说明要用到group by 和sum()函数
group by 分两种情况:(1)group by GId, gname, gcolour, gwithin, gsize 得到的是每种型号的销售量
(2)group by gid, gname 得到的是每种产品的销售量
3.解答过程:
(1)求每种型号的销售量
(2)求每种产品的销售量
(3)求商品的总销售量
(4)将以上3个结果集联合在一起
(5)用decode()函数精简gid和gname,用row_number() over(partition by ) 函数来排序
4.SQL代码:
select rownum seq,
decode(rn, 1, gid) gid,
decode(rn, 1, gname) gname,
gcolour,
gwithin,
gsize,
gnumber
from (select t.*, row_number() over(partition by gid,gname order by gnumber) rn
from (select GId,
gname,
gcolour,
gwithin,
gsize,
sum(gnumber) gnumber
from t_goods
group by GId, gname, gcolour, gwithin, gsize
union all
select gid, gname, null, null, '小计', sum(gnumber)
from t_goods
group by gid, gname
union all
select null, null, null, null, '总计', sum(gnumber)
from t_goods) t);
分享到:
相关推荐
### ORACLE 多表查询与数据修改 ...通过本次实验的学习,您可以更加熟练地掌握Oracle数据库中的多表查询技巧,以及基本的INSERT、UPDATE和DELETE操作。这对于日常的数据库管理和开发工作都是非常有用的技能。
通过实验,学生能够熟悉Oracle的基本知识,掌握SQL*PLUS的常用命令,并深入理解Oracle的查询语句。 1. **SQL*PLUS环境与常用命令** - **启动SQL*PLUS**:通常通过命令行输入`sqlplus 用户名/密码`来登录。 - **...
该实验主要包括表结构的建立、修改、查看、删除操作,索引的建立、修改、查看、删除操作,视图的建立、查询、修改、删除操作,同义词的建立、查询、修改、删除操作,以及序列的建立、查询、修改、删除操作。...
通过本次Oracle上机实验,不仅学习了如何使用SQL*PLUS这一Oracle的核心工具,还掌握了如何管理Oracle数据库中的用户和密码,了解了如何创建数据库表和定义完整性约束,以及如何执行基本的数据查询。这对于深入理解...
- **数据库管理与应用**:通过对Oracle常用工具的学习,让学生了解数据库的管理与应用方式。 **2.2 学生应具备的能力** - **预习准备**:学生需要在实验前预习相关的理论知识,准备好实验所需的材料。 - **观察与...
本文将详细介绍Oracle中的一些常用管理工具,包括Oracle Database Configuration Assistant (DBCA)、SQL*Plus、SQL*Plus Worksheet以及Oracle Enterprise Manager (OEM)。 1. **Oracle Database Configuration ...
- **实验1:** 编写一个简单的SQL查询语句,用于查询表中的所有行和所有列。例如: ```sql SELECT * FROM 表名; ``` - **实验2:** 查询表中的所有行,同时自定义列的顺序。 ```sql SELECT 列1, 列2, ... FROM ...
- 实验中强调熟悉数据库中的工具,这可能包括Oracle企业管理器(OEM)、SQL*Plus等,这些工具是数据库管理员日常工作中常用的交互界面。 3. **Oracle数据库基本操作**: - 实验二介绍了如何在Oracle中创建数据库...
3、 通过dept表查询出所有部门号,对每个部门雇员的工资进行调整,将工资高于(包含$2000)$2000的雇员每人增加$500,将工资低于$2000的雇员每人增加到$2000。但应注意雇员工资调整后不应大于$10000,否则显示出错信息,...
整个实验指导书的内容包括对Oracle 10g数据库的安装、配置及常用工具的使用,创建数据库、表空间和数据文件,数据库的安全管理,管理表结构与数据,管理索引、视图、同义词和序列,以及PL/SQL编程基础和高级编程的...
### Oracle 实验四:分组查询与链接查询 #### 分组函数 在Oracle数据库中,分组函数(也称为聚合函数)是用来对一组值执行计算并返回单一值的函数。常用的分组函数包括COUNT(), SUM(), AVG(), MAX(), MIN()等。 *...
通过本实验,不仅可以掌握Oracle Hadoop装载程序的操作流程,还可以学习到如何处理大数据文件、如何使用外部表将数据加载到Oracle数据库中,以及如何优化数据装载流程。实验结果的验证确保了数据成功迁移,并且可以...
实验七:Oracle对象管理及使用 这包括对表、视图、索引、存储过程、触发器等数据库对象的创建、修改和删除操作,以及如何利用这些对象来实现更高效的数据管理和应用开发。 实验八:Oracle安全管理及备份恢复(选做...
2. Oracle备份与恢复实验教程:通过实际操作的教程,帮助用户掌握Oracle数据库的备份与恢复技术,确保数据安全和业务连续性。 这些知识点展示了Oracle数据库管理的多个关键领域。当然,这只是冰山一角,实际应用中...
第9章创建和管理表,是关于如何在Oracle中创建新表,使用子查询语法创建表,修改现有表,以及管理表的结构。这包括如何重命名表、删除表以及截断表等操作。 第10章内置约束则是关于数据完整性的部分,讨论了主键、...
最全、最详细的Oracle10实验指导书。每一部分实验都包括实验内容的讲解和实验联系题。 实践1 Oracle10g的安装及常用工具的使用 3 实践2 Oracle数据库基本命令 23 实践3 数据库的操作 44 实践4 数据库的安全管理 50 ...