ホームページ  >  記事  >  データベース  >  Oracleでconnect byを使用する方法

Oracleでconnect byを使用する方法

WBOY
WBOYオリジナル
2022-08-01 16:27:217264ブラウズ

Oracle では、属性構造内のデータを検索するために "connect by" が使用されます。構文は "select * from table [start withcondition1] connect by [prior] id=parentid"; where "start withcondition1" です。 " データの最初の層、つまりルート ノード データを制限し、コンテンツのこの部分に基づいてデータの 2 番目の層を検索するために使用されます。

Oracleでconnect byを使用する方法

このチュートリアルの動作環境: Windows 10 システム、Oracle バージョン 12c、Dell G3 コンピューター。

oracle で connect by を使用する方法

基本構文

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;

Oracleでconnect byを使用する方法

SELECT TRUNC(SYSDATE - LEVEL) OC_DATE FROM DUAL CONNECT BY LEVEL <= 10

Oracleでconnect byを使用する方法

## 推奨チュートリアル: 「

Oracle」ビデオチュートリアル>>

以上がOracleでconnect byを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。