Oracle用Start with...Connect By子句递归查询
ORACLE 提供了一个有趣的功能 connect by 子句,它可以对具有家族树结构的分枝进行排序。它的用途有机构或公司的各层结构,财务的科目代码等。
要使用查询遍历,需要在将数据在基表中按照层次结构进行存储。比如一个组织机构就是这样的典型例子。
实现语句:
SELECT column
FROM table_name
START WITH column=value
CONNECT BY PRIOR 父主键=子外键
网上有朋友已经给了一个简洁的例子,就直接引用他的例子如下:
——————————————————————————————————————
Start with...Connect By子句递归查询一般用于一个表维护树形结构的应用。
创建示例表:
CREATE TABLE TBL_TEST
(
ID NUMBER,
NAME VARCHAR2(100 BYTE),
PID NUMBER DEFAULT 0
);
插入测试数据:
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('2','11','1');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('3','20','0');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('4','12','1');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('5','121','2');
从Root往树末梢递归
select * from TBL_TEST
start with id=1
connect by prior id = pid
从末梢往树ROOT递归
select * from TBL_TEST
start with id=5
connect by prior pid = id
例子出处:http://blog.csdn.net/54powerman/archive/2006/04/03/649068.aspx
分享到:
相关推荐
### SQL语句整理笔记知识点详解 #### 数据库操作 1. **创建数据库**: `CREATE DATABASE Country ON (name='Country', filename='D:\Country.mdf', size=5mb, maxsize=100mb, filegrowth=10%) LOG ON (name='...
sql语句整理 sql增删改查 更新数据记录 删除数据记录
标题中的“sql语句整理工具”指的是用于优化和格式化SQL查询语句的软件或应用程序。这类工具的主要目的是帮助数据库管理员和开发人员更好地管理和理解复杂的SQL代码,使其更规范、可读性更强,从而提高工作效率。 ...
以下是对标题和描述中涉及的经典SQL语句的详细解释: 1. **创建数据库**: 使用`CREATE DATABASE`语句来创建一个新的数据库。例如:`CREATE DATABASE database-name`,其中`database-name`是你想要创建的数据库的...
SQL语句整理大全(免费收藏).pdf,SQL语句整理大全(免费收藏).pdf
SQLSERVER基础实用必会SQL语句整理 本文档旨在整理SQLSERVER基础实用必会SQL语句,涵盖数据库的创建、备份、还原等问题的解决方法,并提供了一些有用的SQL语句命令。 一、SQLSERVER数据库的安装问题 在安装SQL...
在"SQL语句整理.docx"中,主要涵盖了建立数据库、创建表、对数据库进行增删改操作以及修正与撤销数据库结构等内容。 首先,我们来看创建数据库的部分。在SQL中,创建一个数据库可以使用`CREATE DATABASE`语句。例如...
-------数据库--------- create database if not exists db_name;//创建数据库 if not exists意为如不存在 use db_name;//使用或者打开 数据库 show databases;//查看所有数据库 alter database db_name;...
个人整理的oracle常用sql语句整理分享
### SQL语句整理清单 #### 数据定义语言(DDL) **创建表** ```sql CREATE TABLE 表名 ( 列名1 数据类型 [约束], 列名2 数据类型 [约束], ... ); ``` - **说明**:此命令用于创建一个新的数据库表,并指定其...
精妙SQL语句整理(精华转载收藏),作为初级入门者可以看看,还是有用的
(四川农业大学)SQL语句整理
这里有经典的SQL语句,大家可以去看看,适合需要复习SQL的人
在《SQL》语句整理中,我们涉及了数据库的创建与删除、表的创建与数据操作、查询语句以及聚合函数等核心概念。 首先,创建数据库是数据库管理的基础。在SQL Server 2005中,可以使用`CREATE DATABASE`语句来创建新...
以下是一些Oracle数据库中常用的SQL语句及其详细解释。 1. **数据查询(SELECT)** - `SELECT column1, column2 FROM table_name;` 用于从表中选择特定列的数据。 - `WHERE condition;` 添加条件过滤结果,如 `...
尽管描述和部分内容提供的信息有限,但我们可以基于标题“刚刚整理的SQL语句”来展开一些重要的SQL知识点,帮助读者更好地理解和掌握SQL的基础及进阶用法。 ### SQL简介 SQL(Structured Query Language)是一种...
MySQL是一种广泛使用的开源关系型数据库管理系统,其SQL语句是数据操作的核心。在这个主题中,我们将深入探讨MySQL中的一些常用SQL语句,特别是与数据库连接有关的概念,包括左连接、右连接和全连接。 首先,SQL...
它是最常用的SQL语句之一,可以用来选择特定列或所有列,并通过`WHERE`子句应用条件来过滤结果集。`ORDER BY`子句用于对结果进行排序,`GROUP BY`子句用于按一个或多个列对行进行分组,而`HAVING`子句则用于在分组后...
这个小程序的核心功能是将杂乱无章的SQL语句整理得整洁易读,提高代码的可读性和维护性。在编程领域,代码的格式化是非常重要的,它能够帮助开发者更好地理解和分析代码逻辑。 该程序的原始算法基于Perl语言编写,...
另一个标签"SQL格式化"则明确了它的主要功能,即整理SQL语句的结构,使其更具可读性。"优美的SQL语句"则暗示了经过格式化后的SQL会更加整洁,便于理解和审查。 压缩包中的"PrettySQLFormatter.jar"是预编译的Java...