-- 0. Create demo table
CREATE TABLE test (
PROD_CAT VARCHAR2(10),
PROD_NO VARCHAR2(15)
);
-- 1. Create demo data
BEGIN
INSERT INTO test (PROD_CAT,PROD_NO) VALUES ('A','1');
INSERT INTO test (PROD_CAT,PROD_NO) VALUES ('A','2');
INSERT INTO test (PROD_CAT,PROD_NO) VALUES ('A','3');
INSERT INTO test (PROD_CAT,PROD_NO) VALUES ('B','2');
INSERT INTO test (PROD_CAT,PROD_NO) VALUES ('A','4');
INSERT INTO test (PROD_CAT,PROD_NO) VALUES ('B','1');
INSERT INTO test (PROD_CAT,PROD_NO) VALUES ('A','6');
INSERT INTO test (PROD_CAT,PROD_NO) VALUES ('A','7');
INSERT INTO test (PROD_CAT,PROD_NO) VALUES ('B','5');
INSERT INTO test (PROD_CAT,PROD_NO) VALUES ('B','8');
INSERT INTO test (PROD_CAT,PROD_NO) VALUES ('C','0');
INSERT INTO test (PROD_CAT,PROD_NO) VALUES ('D','1');
INSERT INTO test (PROD_CAT,PROD_NO) VALUES ('C','2');
INSERT INTO test (PROD_CAT,PROD_NO) VALUES ('D','3');
INSERT INTO test (PROD_CAT,PROD_NO) VALUES ('D','7');
COMMIT;
END;
-- 2. Use Oracle Analytic Function and Hierarchical Queries
SELECT PROD_CAT, max(substr(PROD_NO, 2)) PROD_NO
FROM (SELECT PROD_CAT, sys_connect_by_path(PROD_NO, ',') PROD_NO
FROM (SELECT PROD_CAT,
PROD_NO,
PROD_CAT || rn rchild,
PROD_CAT || (rn - 1) rfather
FROM (SELECT test.PROD_CAT,
test.PROD_NO,
row_number() over(PARTITION BY test.PROD_CAT ORDER BY test.PROD_NO) rn
FROM test))
CONNECT BY PRIOR rchild = rfather
START WITH rfather LIKE '%0')
GROUP BY PROD_CAT ORDER BY 1;
分享到:
相关推荐
### Oracle SQL 学习资料详解 #### 一、Oracle SQL 概述 Oracle SQL 是 Oracle 数据库的标准查询语言,用于管理、检索和处理 Oracle 数据库中的数据。它提供了丰富的功能来执行各种数据库操作,包括数据定义(如...
- **规范要求**:在SELECT语句中禁止使用“*”来选取所有列,而应明确列出所需的列。这样可以提高查询性能,减少网络传输的数据量。 - **示例**: ```sql SELECT ID, NAME, AGE FROM EMPLOYEE; ``` ##### 2.7 ...
Oracle 常用 SQL 语句大全 本文档总结了 Oracle 中常用的 SQL 语句,包括数据库的创建、删除、备份、表的创建、删除、修改、索引的创建、视图的创建等基本操作,以及一些高级查询运算符的使用。 一、数据库操作 ...
标题“Oracle SQL DE”可能指的是Oracle数据库中的SQL Developer工具,这是一个用于管理Oracle数据库的集成开发环境(IDE)。在这个环境中,用户可以编写、测试和调试SQL和PL/SQL代码,进行数据查询、表管理以及...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其SQL(结构化查询语言)是与Oracle交互、管理和操作数据的核心工具。本教程旨在深入探讨Oracle SQL的学习,帮助你掌握这一强大的数据库系统。 首先,理解...
### Oracle SQL基础知识详解 #### 一、书籍简介与目标读者 《Beginning Oracle SQL》是一本由Lex de Haan、Tim Gorman、Karen Morton、Daniel Fink和Inger Jorgensen共同编写的关于Oracle SQL的基础教程。该书由...
根据给定的文件信息,以下是对Oracle SQL语句集锦中的关键知识点的详细解析: ### Oracle SQL基础操作 #### 数据定义语言(DDL) - **创建表(Create Table)**: `CREATE TABLE`语句用于在数据库中创建一个新的表...
本资源是针对Oracle数据库的SQL文件,用于填充全国省市区的数据。Oracle数据库是全球广泛使用的大型关系型数据库系统,它支持复杂的数据类型和高级的数据库管理功能。 在使用这个SQL文件之前,你需要先在你的Oracle...
【Oracle SQL要求】主要涉及了Oracle数据库的基本操作,包括数据表的创建、数据的插入、删除和更新等核心概念。以下是对这些知识点的详细说明: 1. **Oracle数据库开发环境**: Oracle提供了多种数据库管理工具,...
Oracle 常用 SQL 语句汇总 Oracle 是一个功能强大且复杂的关系数据库管理系统,它提供了多种 SQL 语句来管理和操作数据库。在本文中,我们将详细介绍 Oracle 中常用的 SQL 语句,包括数据控制语句(DML)、数据定义...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据库操作能力和PL/SQL的结构化编程特性,使得数据库开发者能够创建复杂的应用程序和数据库逻辑。在"Oracle PL/SQL实例精解 数据库建立代码"中,我们将深入探讨...
Oracle SQL是用于管理和操作Oracle数据库的关键工具,涵盖了数据查询、数据操纵、数据定义等多种功能。以下是对Oracle SQL语法的详细解析: **一、数据控制语句 (DML)** 1. **INSERT**: 插入数据到表中。有两种...
"Oracle四大宝典之1:Oracle Sql基础"显然是一份深入浅出的Oracle SQL学习资料,旨在帮助初学者掌握Oracle数据库的基础操作。在本文中,我们将详细探讨Oracle SQL的基础知识,包括其重要概念、数据类型、查询语句、...
从给定的文件信息中,我们可以提取到关于Oracle数据库中SQL操作的重要知识点,特别是与创建表、定义主键约束以及插入数据相关的操作。下面将详细解释这些知识点。 ### 创建表 在Oracle数据库中,`CREATE TABLE`...
### SQL Server到Oracle数据库迁移详解 #### 一、引言 随着企业的发展和技术的更新换代,企业常常需要对原有的数据库系统进行迁移或升级。本文将详细介绍如何使用Java语言实现从SQL Server到Oracle数据库的数据...
在SQL自学笔记中,我们将基于《Oracle 11g 入门到精通》这本书来深入理解SQL的各个重要概念。 首先,SQL主要分为四个核心部分: 1. 数据定义功能(DDL,Data Definition Language):这是SQL用于创建、修改和删除...
Oracle SQL是用于管理和操作Oracle数据库的关键工具,涵盖了数据查询、数据操纵、数据定义以及数据控制等多个方面。在本文中,我们将深入探讨Oracle SQL中的数据控制语句(DCL)、数据定义语句(DDL)以及一些基本的...
Oracle PL/SQL是一种在Oracle数据库管理系统中使用的编程语言,它结合了SQL的数据库查询功能和PL/SQL的程序设计元素,使得开发者能够编写复杂的数据库应用。这篇“Oracle PL-SQL入门教程(经典)”旨在帮助初学者掌握...
本文将深入浅出地探讨SQL语法基础,特别关注ORACLE环境下的应用。 一、SQL简介 SQL是关系型数据库管理系统的通用语言,用于执行查询、插入、更新和删除数据,以及创建和修改数据库结构。在ORACLE中,SQL被用来执行...
标题与描述概述的知识点主要集中在IT领域中的数据库管理方面,特别是Oracle SQL语句的应用,涵盖了数据操作语言(DML)、数据定义语言(DDL)以及数据控制语言(DCL)。以下是对这些知识点的详细阐述: ### 数据...