关于oracle的数查询:
SQL语句:SELECT
FROM Level
WHERE 1 = 1
And validstatus = '1'
AND type = '0'
Start With boss= '00000000'
AND type = '4'
Connect By nocycle Prior boss= staff
AND type != '4'
and type <> '1'
And Prior staff!= staff
order by staff
START WITH:指定了层次查询的根(父节点)
CONNECT BY:指定了层次查询中父层次和子层次之间的关系。
1、首先根据条件 Start With code = '00000000' AND type = '4'查询第一层“staff”
2、其次 根据条件code = com AND type != '4' and type <> '1' 查询,即前一层的"staff"是本层的"boss",并且type!=1且!=4
3、根据上一步查询得到1、2、3、4(假设他们的type满足条件)
4、然后重复上面的步骤,得到9((假设9的type满足条件))
5、最后查询的结果就是1、2、3、4、9