start with -- conect by
START WITH . . . CONNECT BY . . .子句常用来实现SQL的层次查询.刚才看到一个蛮有趣的帖子,楼主用了数学方法深入研究了connect by
原帖子如下。
对于connect by,现在大多数人已经很熟悉了
connect by中的条件就表示了父子之间的连接关系
比如 connect by id=prior pid
但如果connect by中的条件没有表示记录之间的父子关系
那会出现什么情况?
常见的,connect by会在构造序列的时候使用
用select rownum from dual connect by rownum<xxx 代替早期版本的 select rownum from all_objects where rownum <xxx
我们注意到,dual是一个只有一条记录的表,如果表有多条记录,将会怎样?
下面开始实验
环境:windows xp sp2 + Oracle 9208
(10.1版本connect by有问题)
无需多说,我们很快可以找到其中的规律,假设表中有N条记录
则记F(N,l)为 select id,level from t connect by level<l 的结果集数目
那么,
F(N,1)=N
F(N,l) = F(N,l-1)*N+N
于是可以总结出
F(N,l)=∑power(N,p), p取值为[1,l)
要解释,也很容易
当连接条件不能限制记录之间的关系时
每一条记录都可以作为自己或者其他记录的叶子
如下所示:
A 1
A 2
A 3
B 3
C 3
B 2
A 3
B 3
C 3
C 2
A 3
B 3
C 3
在这里,我们看到的是
Oracle采用了深度优先的算法
转摘自:http://www.cnblogs.com/zeromyth/archive/2009/09/07/1561948.html
start with -- conect by相关推荐
- c 服务器和android客户端,通过TCP与c + +(套接字服务器)conect android(套接字客户端)...
我有一个实现在大学项目中做,我不知道如何avchive它!我的问题就像标题所说的那样,通过套接字将C++与android连接起来.通过TCP与c + +(套接字服务器)conect android(套 ...
- linux shell中的kill(1) , conect(2) , select(2)代表什么【转】
转自:http://blog.csdn.net/whm2300/article/details/17516025 看<<unix高级程序设计>> 等书, 常会看到 kill(1 ...
- socket函数conect返回值为115,如何解决呢?
我知道返回值的意思是 115EINPROGRESS +Operationnow in progress 但是怎么消除呢? 可以这样消除:if (0 > nret) { if (EALREA ...
- 网络编程——listen、conect、inet_pton等网络编程函数详解
前言 自己在学习网络编程的所思所感所悟,记录于此,如果还有幸能帮助到您,是我的荣幸!很多网络编程的函数都没有见过也忘记了他的头文件,怎么办?在linux上使用man手册查函数即可,windows查ms ...
- Navicat Cannot conect to MySQL server 10060
可能原因:远端防火墙没有开放 3306 端口(user 表中 root 用户的 host 为 % 时) 解决步骤: 2.1 远端使用 firewall-cmd --list-port 查看开放的端口列 ...
- kafka学习--使用kafka conect操作kafka connector
1. 配置kafka connectors kafka connectors配置是简单的键值映射.对于独立模式,这些在属性文件中定义,并传递到命令行上的kafka Connect进程.在分布式模式下, ...
- 2-3 建立简易TCP服务端、客户端【socket server/client】【socket、bind、listen、accept、send、closesocket】【conect、recv】
2-3 建立简易TCP服务端.客户端 文章目录 2-3 建立简易TCP服务端.客户端 0-前言 1-服务端简易功能 2-客户端简易功能 3-代码逻辑 4-服务端 4-1 建立socket 4-2 绑定 ...
- Linux6版本系统搭建Open***远程访问
前言: open***是一个***工具,用于创建虚拟专用网络(Virtual Private Network)加密通道的免费开源软件,提供证书验证功能,也支持用户名密码认证登录方式,当然也支持两者合一 ...
- 双宋喜结连理过程可以通过python爬虫Aispider 几行代码就能搞定!
爬虫框架AISPIDER 是一种轻量级的爬虫框架,封装了非常多的方法,只需简单几步操作即可开始工作,主要的爬虫逻辑还是需要自行编写. 你只需要把你要请求的网址构造成框架规定的格式,然后放入到工作队列中 ...
最新文章
- 吉利蔚来造手机,小米造车
- UOJ#7. 【NOI2014】购票 | 线段树 凸包优化DP
- Android 关于获取摄像头帧数据解码
- 使用IntentService给自己的Android应用写一个文件下载器。
- ring0 ring3 kernel driver
- HanLP1.5.2 -python使用介绍
- 女陔说你不懂我, 到底什么意思
- python安装os模块_centeros安装python3过程
- 拨号720错误解决记.txt
- python转义字符与原字符
- 室内定位技术研发简介
- 谭浩强C语言程序设计(1-3章代码学习)
- 华为服务器gpu芯片怎么样,GPU服务器怎么样
- wordpress采集插件支持任意wordpress主题
- 2014年最新720多套Android源码2.0GB免费一次性打包下载
- ibm刀片服务器虚拟化,IBM刀片服务器虚拟化方案
- MC1.12.2开服教程
- springMVC笔记系列(22)——Json各类操作在springMVC中的实现
- 方舟服务器傻瓜开服教程(含教程以及所有开服常见问题解决办法)
- mac版本的eclipse安装springboot开发插件(STS)