- 浏览: 395957 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (347)
- java基础 (58)
- ajax (10)
- s2sh (10)
- 版本控制 (4)
- 数据库 (34)
- 服务器 (4)
- 开发工具 (8)
- javascript (15)
- soockte (5)
- ext (2)
- 环境搭建 (7)
- struts2 (9)
- 找工作中的面试技巧 (2)
- 承接网站零活 (0)
- JNI+JONSE+OGNL (8)
- 性能优化 (4)
- Android开发 (5)
- xul (8)
- jquery (2)
- 线程 (3)
- jsp+jdbc (7)
- servlet (2)
- java对xml操作 (1)
- IO流的操作 (10)
- 项目开发前配置 (1)
- css (0)
- 上传、下载 (2)
- 知识探讨 (2)
- html (2)
- HQL (0)
- 工作技巧 (1)
- IT (1)
- Hibernate杂谈 (10)
- Spring杂谈 (35)
- DWR (5)
- JUnit测试 (3)
- EasyMock测试web (1)
- ibatis (6)
- maysql (5)
- C++ (0)
- 正则表达式(解剖) (1)
- 密码安全 (2)
- 上传 (1)
- socket (1)
- jni(java与c++结合) (1)
- jdk版本问题 (0)
- tomcat版本问题 (5)
- linux基本命令(初学) (7)
- linux项目发布 (1)
- 3年的经验总结 (1)
- 加解密 (2)
- 高级java阶段 (2)
- java内存分区 (1)
- 浏览器 (1)
- 职业规划 (1)
- 管理 (5)
- java语音 (1)
- SSH (1)
- jsp (3)
- extjs (1)
- uml (2)
- 加密 (1)
- web (2)
- Ant (1)
- 自述 (1)
- Linux (1)
- ssh源码解剖 (1)
- 代码优化 (1)
- 设计模式 (0)
- xml (2)
- JOSN (1)
- scala (0)
- hadoop (0)
- spark (0)
- hana (1)
- shior (1)
- java Word (6)
- java PDF (4)
- java Excel (0)
最新评论
-
高级java工程师:
ztao2333 写道谢谢。收藏下这个总结。呵呵
温习jdk和tomcat -
ztao2333:
大写的,不是大学的
温习jdk和tomcat -
ztao2333:
谢谢。收藏下这个总结。
温习jdk和tomcat -
the_small_base_:
你好,可以提供调用方法吗?需要的Jar,能发下源码吗?谢谢
java实现语音 -
高级java工程师:
文思涌动 写道楼主新年好。可否再传一遍给我,我没有收到, 不清 ...
s2sh整合
有的情况下,我们需要用递归的方法整理数据,这才程序中很容易做到,但是在数据库中,用SQL语句怎么实现?下面我以最典型的树形结构来说明下如何在Oracle使用递归查询。 为了说明方便,创建一张数据库表,用于存储一个简单的树形结构 Sql代码 1. create table TEST_TREE 2. ( 3. ID NUMBER, 4. PID NUMBER, 5. IND NUMBER, 6. NAME VARCHAR2(32) 7. ) ID是主键,PID是父节点ID,IND是排序字段,NAME是节点名称。初始化几条测试数据。 引用 ID PID IND NAME 1 0 1 根节点 2 1 1 一级菜单1 3 1 2 一级菜单2 4 1 2 一级菜单3 5 2 1 一级1子1 6 2 2 一级1子2 7 4 1 一级3子1 8 4 2 一级3子2 9 4 3 一级3子3 10 4 0 一级3子0 一、基本使用: 在Oracle中,递归查询要用到start with 。。。。connect by prior。。。 具体格式是: Sql代码 1. SELECT column 2. FROM table_name 3. START WITH column=value 4. CONNECT BY PRIOR 父主键=子外键 对于本例来说,就是: Sql代码 1. select d.* from test_tree d 2. start with d.pid=0 3. connect by prior d.id=d.pid 引用 ID PID IND NAME 1 0 1 根节点 2 1 1 一级菜单1 5 2 1 一级1子1 6 2 2 一级1子2 3 1 2 一级菜单2 4 1 2 一级菜单3 7 4 1 一级3子1 8 4 2 一级3子2 9 4 3 一级3子3 10 4 0 一级3子0 我们从结果中可以看到,记录已经是按照树形结构进行排列了,但是现在有个新问题,如果我们有这样的需求,就是不但要求结果按照树形结构显示,还要根据ind字段在每一个分支内进行排序,这个问题怎么处理呢?我们可能很自然的想到如下语句: Sql代码 1. select d.* from test_tree d 2. start with d.pid=0 3. connect by prior d.id=d.pid 4. order by d.ind ID PID IND NAME 引用 1 0 1 根节点 2 1 1 一级菜单1 5 2 1 一级1子1 6 2 2 一级1子2 4 1 2 一级菜单3 10 4 0 一级3子0 8 4 2 一级3子2 9 4 3 一级3子3 7 4 1 一级3子1 3 1 2 一级菜单2 这显然不是我们想要的结果,那下面的这个语句呢? Sql代码 select d.* from (select dd.* from test_tree dd order by dd.ind) d start with d.pid=0 connect by prior d.id=d.pid 引用 ID PID IND NAME 1 0 1 根节点 2 1 1 一级菜单1 5 2 1 一级1子1 6 2 2 一级1子2 4 1 2 一级菜单3 10 4 0 一级3子0 8 4 2 一级3子2 9 4 3 一级3子3 7 4 1 一级3子1 3 1 2 一级菜单2 这个结果看似对了,但由于一级菜单3节点下有一个节点的ind=0,导致一级菜单2被拍到了3下面。如果想使用类似这样的语句做到各分支内排序,则需要找到一个能够准确描述菜单级别的字段,但是对于示例表来说,不存在这么一个字段。 那我们如何实现需求呢?其实Oracle9以后,提供了一种排序“order siblings by”就可以实现我们的需求,用法如下: Sql代码 1. select d.* from test_tree d 2. start with d.pid=0 3. connect by prior d.id=d.pid 4. order siblings by d.ind asc 结果如下: 引用 ID PID IND NAME 1 0 1 根节点 2 1 1 一级菜单1 5 2 1 一级1子1 6 2 2 一级1子2 3 1 2 一级菜单2 4 1 2 一级菜单3 10 4 0 一级3子0 7 4 1 一级3子1 8 4 2 一级3子2 9 4 3 一级3子3 这样一来,查询结果就完全符合我们的要求了。
发表评论
-
SQL总结存储过程
2017-02-16 10:13 362概念 存储过程(Stored Procedure):已预编译 ... -
oracle设置定时任务job调度执行存储过程或pl/sql代码块
2017-02-16 09:53 401目前oracle数据库设置定时任务job调度一般有两种方式,分 ... -
sql大全
2013-07-12 19:02 1003经典SQL语句大全 一、基础 1、说明: ... -
Linux安装mysql——源码安装
2013-06-05 09:17 7541.假设已经有mysql-5.5.10.tar.gz以及cma ... -
hql语句集合
2013-04-21 19:13 1041/** * */ package com.b510 ... -
oracle命令导入dmp文件与给用户受权
2012-05-03 15:57 988创建账号:CREATE USER vdrs IDENTIFIE ... -
oracle对日期进行操作
2012-03-19 15:41 1224一下心血来潮,把部分Oracle对时间的一些处理,整理了一下, ... -
如何查出同一张表中字段值重复的记录
2012-03-17 09:45 1548比如现在有一人员表(表名:peosons) 若想将姓名、身份证 ... -
数据库驱动大全
2011-12-26 09:47 889经常因为链接字符串记不住或者记错的原因浪费时间,终于有时间把常 ... -
用JSP导出ORACLE的数据表DDL
2011-12-08 10:47 1053EXPDDL.JSP <%@ page cont ... -
jsp脚本实现本分数据库
2011-12-08 10:44 855JSP导出Oracle数据表是一个在开发应用时的常用的操作,那 ... -
oracle创建id自增及相关增删改查操作
2011-11-21 16:46 955新建下载权限记录表 DOWNLOADPOPE_TAB ... -
java.sql.SQLException: Io 异常: The Network Adapter could not establish the connec
2011-10-28 15:43 1250WARN: SettingsFactory,103 - Cou ... -
oracle安装及使用
2011-10-16 23:50 879安装后数据库 1.使用plsql打开,一般选项 口 ... -
mysql中递归树状结构
2011-10-10 17:20 11303在Oracle 中我们知道有一个 Hierarchic ... -
级联删除和级联修改
2011-06-22 14:08 2783曾经因为级联删除的问题浪费了N多时间,顾此在这里写下小小心得, ... -
mysql解决乱码问题?
2011-06-15 14:33 785mysql数据库,乱码解决 ... -
MySql
2011-06-14 16:12 7941.安装之后 2.创建数据库 s2sh(库名) creat ... -
数据库死锁的解释?以及什么是死锁
2011-04-25 10:41 822什么是数据库死锁 每个使用关系型数据库的程序都可能 ... -
oracle控制约束
2011-04-11 17:19 716Oracle约束的启用和停用 ...
相关推荐
行业分类-外包设计-可变抽样率的递归数字滤波器的介绍分析.rar
二分法 解函数 c++语言 c语言 递归 数根
本文实例讲述了C++使用递归和非递归算法实现的二叉树叶子节点个数计算方法。分享给大家供大家参考,具体如下: /*求二叉树叶子节点个数 -- 采用递归和非递归方法 经调试可运行源码及分析如下: ***/ #include #...
二叉树深度 二叉树前序遍历 递归实现 二种非递归实现 二叉树中序遍历: 递归实现 非递归实现 二叉树后序遍历: ...二叉树层次创建,创建方法遵循卡特兰数 http://write.blog.csdn.net/postedit/17380455
遍历递归的先中後序, 非递归的先中後序, 计算出深度 结点数 /* 运行结果: ------------------------ 请先序输入二叉树(如:ab三个空格表示a为根节点,b为左子树的二叉树) ab c 先序递归遍历二叉树: a b c 先序...
提出了递归数计算基音,研究了用递归度与所算基音之积精确区分清浊音法,给出了波动基音修正方法。实验结果表明,该方法可以得到比传统自相关法和倒谱法更好的结果,尤其是清浊音特征不明显的音段,基音检测的性能更...
凑数字凑金额的最佳递归程序
主要介绍了Python基于递归和非递归算法求两个数最大公约数、最小公倍数,涉及Python递归算法、流程循环控制进行数值运算相关操作技巧,需要的朋友可以参考下
此代码实现从N个数字中取出M个数字的所有组合,有两种实现方法,递归方法和非递归方法。
递归的递增进位制数法和递归的递减进位制数法生成全排列。效率比传统的递增递减进位制数法
递归实现十进制数从高位到低位依次输出 主要是我对递归算法的初步理解后试手制作希望对你有用
数据结构,递归实现十进制数转二进制数,C++实现,可多次输入数
可实现: 输入相应元素,用先序创建二叉树(无元素处用“#”... 递归计算叶子数: 二叉数的深度: 交换二叉树的左右子树: 二叉树已左右交换。 递归先序遍历二叉树: 递归中序遍历二叉树: 递归后序遍历二叉树:
在C++中利用递归思想实现反序数
/// 一列数的规则如下: 1、1、2、3、5、8、13、21、34求第30位数是多少, 用递归算法实现。(C#语言) /// /// <param name=pos></param> /// <returns></returns> public int GetNumberAtPos(int pos) { if(pos==0|...
本书除比较完整地奠定数阵的基本概念和基本理论之外,还从等差、等比、几何数阵出发,赏析了递归数阵,自然数阵(如平方筛选数阵),类杨辉数阵,小非元数阵,等等,它们个个构造奇巧优雅,令人赏心悦目;本书还介绍了...
Python 递归函数 如果一个函数体直接或者间接调用自己,那么这个函数就称为递归函数.也就是说,递归函数体的执行过程中可能会返回去再次调用该函数.在python里,递归函数不需要任何特殊的语法,但是它需要...
递归算法计算二叉树中叶子节点的数目
递归函数的定义 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 递归函数的特点 递归函数的优点是定义简单,逻辑清晰。理论上,所有的递归函数都可以写成循环的方式,但...
绪论 第一章 算子 第二章 初等函数集 第三章 原始递归函数 第四章 递归函数集 第五章 递归可枚举集 第六章 判定问题 第七章 谱系及计算复杂性