oracle connect by 用法

Oracle中可以通过START WITH . . . CONNECT BY . . .子句来实现SQL的层次查询,即递归查询

例如:

select level||'月' 月份
  from dual
connect by level < 13;

或者

select rownum||'月' 月份
  from dual
connect by rownum < 13;

可以递归查询出12个月

1    1月

2    2月

3    3月

4    4月

5    5月

6    6月

7    7月

8    8月

9    9月

10 10月

11 11月

12 12月

时间: 2024-08-29 19:38:47

oracle connect by 用法的相关文章

oracle connect by用法篇 (转)

1.基本语法 select * from table [start with condition1] connect by [prior] id=parentid 1 2 1 2 一般用来查找存在父子关系的数据,也就是树形结构的数据:其返还的数据也能够明确的区分出每一层的数据. start with condition1 是用来限制第一层的数据,或者叫根节点数据:以这部分数据为基础来查找第二层数据,然后以第二层数据查找第三层数据以此类推. connect by [prior] id=parent

oracle connect by用法篇

1.基本语法 select * from table [start with condition1] connect by [prior] id=parentid 一般用来查找存在父子关系的数据,也就是树形结构的数据:其返还的数据也能够明确的区分出每一层的数据. start with condition1 是用来限制第一层的数据,或者叫根节点数据:以这部分数据为基础来查找第二层数据,然后以第二层数据查找第三层数据以此类推. connect by [prior] id=parentid 这部分是用

oracle connect by用法

先用scott用户下的emp表做实验. emp表有个字段,一个是empno(员工编号),另一个是mgr(上级经理编号) 下面是表中所有数据 1 select * from emp start with empno=7698 connect by  mgr=prior empno; 执行结果如下: 得到的结果是empno=7698的数据,以及会得到mgr=7698的数据. 它是向下递归的, 即我们从empno=7698开始遍历,去找出mgr=7698的所有数据S(用S代表查出的所有数据.), 然后

IT忍者神龟之oracle connect by用法回顾

先用scott用户下的emp表做实验. emp表有个字段,一个是empno(员工编号),另一个是mgr(上级经理编号) 下面是表中所有数据 1 select * from emp start with empno=7698 connect by  mgr=prior empno; 执行结果如下: 得到的结果是empno=7698的数据,以及会得到mgr=7698的数据. 它是向下递归的, 即我们从empno=7698开始遍历,去找出mgr=7698的所有数据S(用S代表查出的所有数据.), 然后

[转]ORACLE的ProC用法讲解

pro*c是高级的用法,OCI是oracle的基础用法 如何编译.pc文件: proc code=cpp  parse=none iname=filename.pc oname=filename.cpp 一, 首先要包涵头文件#include 这个头文件 二,  在声明宿主变量之前一定要先定义struct sqlca sqlca;这个变量. 三, 所有与oracle数据库SQL语句有关的变量必须在前面声明为宿主变量分配空间才可以使用, 宿主变量只能是oracle支持的数据类型,一般是基本类型的,

Oracle “CONNECT BY” (层级递归查询)

Oracle "CONNECT BY"是层次查询子句,一般用于树状或者层次结果集的查询.其语法是: ? 1 2 [ START WITH condition ] CONNECT BY [ NOCYCLE ] condition The start with .. connect by clause can be used to select data that has a hierarchical relationship (usually some sort of parent-&g

oracle with as用法

with as语法 –针对一个别名 with tmp as (select * from tb_name) –针对多个别名 with    tmp as (select * from tb_name), tmp2 as (select * from tb_name2),    tmp3 as (select * from tb_name3),    … 1 2 3 4 5 6 7 8 9 --相当于建了个e临时表 with e as (select * from scott.emp e wher

Oracle CASE WHEN 用法介绍

Oracle CASE WHEN 用法介绍 1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASEWHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 2. CASE WHEN 在语句中不同位置的用法 2.1 SELECT CASE WHEN 用法 SELECT gra

Oracle %rowtype的用法

Oracle %rowtype的用法 编程语言 分享到: 专业回答 茗茶堂 2009-04-13 20:51 表示该类型为行数据类型,存储的是一行数据,一行数据里可以有多列,类似于表里的一行数据,也可以是游标里的一行数据,如:vs_row1 表%rowtype;vs_row2 游标%rowtype;