Oracle では、属性構造内のデータを検索するために "connect by" が使用されます。構文は "select * from table [start withcondition1] connect by [prior] id=parentid"; where "start withcondition1" です。 " データの最初の層、つまりルート ノード データを制限し、コンテンツのこの部分に基づいてデータの 2 番目の層を検索するために使用されます。
このチュートリアルの動作環境: Windows 10 システム、Oracle バージョン 12c、Dell G3 コンピューター。
基本構文
select * from table [start with condition1] connect by [prior] id=parentid
一般にツリー構造内のデータを検索するために使用されます
条件 1 で開始は、データの最初のレイヤー、つまりルート ノード データを制限するために使用されます。データのこの部分をベースとしてデータの 2 番目のレイヤーを検索し、データの 2 番目のレイヤーを使用して検索します。データの 3 番目の層など。
connect by [prior] id=parentid この部分は、データの検索時に Oracle がどのような関係を使用するかを示すために使用されます。たとえば、第 2 レベルのデータを検索する場合は、第 1 レベルの ID を使用します。データをテーブルに記録されているparentidフィールドと照合します。この条件が真であれば、見つかったデータは第2レベルのデータになります。同様に、第3レベル、第4レベルなどもこの方法で照合されます。
level キーワードは、ツリー構造のレベル番号を表します。最初のレベルは番号 1、2 番目のレベルは番号 2 で、順番に増加します。
例は次のとおりです:
select rownum from dual connect by rownum<=10;
SELECT TRUNC(SYSDATE - LEVEL) OC_DATE FROM DUAL CONNECT BY LEVEL <= 10
Oracle」ビデオチュートリアル>>
以上がOracleでconnect byを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。