您的位置:首页 > 数据库 > Oracle

Oracle的层次查询及层次查询与自连接的比较

2014-03-09 12:54 381 查看
首先我们要引入自连接和层次查询的概念:

          自连接:利用表名的别名,将同一张表视为多张表。

          层次查询:对同一张表的前后两次操作,进行连接。

          自连接缺点:自连接不太适合操作大表。

          解决方案:利用层次查询。

下面是我将表中的数据整理后画出的树形图:



通过上图可以看出各个数据之间的层次关系,level有4级,现在我们通过sql来实现这一关系:

例如:查询员工信息:员工的老板是谁?



通过以上sql查询即得到所需要查询员工老板信息,图中KING的MGR(老板)为

空,表示他上级没有老板,其中order by 1,这里1代表LEVEL。

sql中的prior empno = mgr表示前一个员工号等于后一个的老板号。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息