我试图理解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子句
时,为什么我会获得额外的行