帮助我使用双表理解CTE查询并按级别连接

vkr*_*ris 1 sql oracle oracle10g

试图解释这个查询......

SELECT blah1, blah2, ... FROM (SELECT level-1 HOUR_ID 
          FROM dual 
          CONNECT BY level <= 24
         ) LU_HOUR
Run Code Online (Sandbox Code Playgroud)

什么是值得包含的?对于双表来说,级别意味着什么?

Ben*_*oit 5

dual是一个虚拟表,有一列(命名dummy)和一行(包含X虚拟列).

CONNECT BY level <= 24是一个分层查询术语,这意味着对于某个级别的每个匹配,如果条件为真,则在下一级别连接每个可能的匹配.这里,LEVEL会自动递增,您可以参考父匹配PRIOR.

这是一个伪造查询结果的技巧,有24行,从0到23.