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 是一种轻量级的爬虫框架,封装了非常多的方法,只需简单几步操作即可开始工作,主要的爬虫逻辑还是需要自行编写. 你只需要把你要请求的网址构造成框架规定的格式,然后放入到工作队列中 ...
最新文章
- 如果在CSDN博文编辑状态下获得博文最终网络链接?
- 【转】txt中导入数据,matlab画图问题
- shiro的简单入门使用
- 进程间通信-system-v
- (转)扩展KMP算法模板
- 第五节:EF Core中的三类事务(SaveChanges、DbContextTransaction、TransactionScope)
- node后台截图 box-shadow无效-解决
- uml活动图 各个功能的操作流程和分支_UML建模更好的表达产品逻辑
- 《『若水新闻』客户端开发教程》——11.代码编码(3)
- python爬虫教程-有什么好的python3爬虫入门教程或书籍吗?
- c语言 统计数量用count_C语言编程中统计输入的行数以及单词个数的方法
- C# 线程安全的单例模式
- Spark 计算人员三度关系
- matlab如何设全局变量,请问MATLAB中如何修改全局变量
- 基于智慧灯杆(路灯)的新型智慧城市物联网系统集成解决方案
- vue项目px自动转rem适用于pc端
- kubuntu我显示服务器,还是不行!kubuntu到底怎么配置IP才能上网啊?[已经解决!]...
- MATLAB课设代做在哪儿找,代写Grid World作业、代做CID留学生作业、代写Matlab课程设计、代做Matlab编程实验作业...
- 《游戏设计快乐之道(第2版)》一第2章 大脑如何运作
- Rewritecond介绍