Oracle 按级别从双连接中选择级别=4时才定义连接。这里的技巧是level是伪列,就像rownum一样,因此只有在本例4中提供的小于等于的数字才能满足条件。也可以使用rownum执行此操作: select level from dual connect by rownum <= 4;

Oracle 按级别从双连接中选择级别=4时才定义连接。这里的技巧是level是伪列,就像rownum一样,因此只有在本例4中提供的小于等于的数字才能满足条件。也可以使用rownum执行此操作: select level from dual connect by rownum <= 4;,oracle,Oracle,我知道分层查询的级别使用情况,但我无法理解如何分析: (select level from dual connect by level<=4) 查询在内部工作以及如何生成数字 对于生成数字,我有另一种方法,即: select r from (select rownum r from all_objects) e where r<=10 它将生成前10个数字。但我无法理解level在内部是如何工作的 请解释原因 这将构建一个分层查询。“连接方式”定义如何从父节点行走到其子节点及

我知道分层查询的级别使用情况,但我无法理解如何分析:

(select level from dual connect by level<=4) 
查询在内部工作以及如何生成数字

对于生成数字,我有另一种方法,即:

select r from (select rownum r from all_objects) e where r<=10 
它将生成前10个数字。但我无法理解level在内部是如何工作的


请解释原因

这将构建一个分层查询。“连接方式”定义如何从父节点行走到其子节点及其子节点的子节点。在这种情况下,仅当级别>=4时才定义连接。这里的技巧是level是伪列,就像rownum一样,因此只有在本例4中提供的小于等于的数字才能满足条件。也可以使用rownum执行此操作:

select level from dual connect by rownum <= 4; 
Level用于计算连接的深度,因此父级为1,子级为2,子级为3的子级,等等。因此,将其视为分层查询的rownum