在oracle中的'connect by prior'子句中重复的行

时间:2016-09-07 17:48:32

标签: sql oracle

我试图理解oracle中的“先通过连接”条款。 我创建了下表: 创建表EMP_MGR (   mgr VARCHAR2(10),   emp VARCHAR2(10) )

以下是表格的数据

MGR   EMP
null   f
f      a
f      b
f      c
b      x
b      y

现在,当我运行以下查询时

select mgr,emp
from emp_mgr
connect by prior emp = mgr
start with mgr is null

以下是上述查询的输出:

MGR     EMP
null     f
f        a
f        b
b        x
b        y
f        c

我完全理解这个输出。但问题是当我执行相同的查询没有'开始'子句我得到低于输出:

MGR     EMP
f       a
f       b
b       x
b       y
f       c
b       x
b       y
null    f
f       a
f       b
b       x
b       y
f       c

请解释输出重复的原因。当我不使用start by子句

时,为什么我会获得额外的行

0 个答案:

没有答案