ホームページ >データベース >mysql チュートリアル >Oracle の「CONNECT BY」または同様の関数を使用せずに、MySQL で JOIN の行を生成するにはどうすればよいですか?

Oracle の「CONNECT BY」または同様の関数を使用せずに、MySQL で JOIN の行を生成するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-15 10:02:43139ブラウズ

How Can I Generate Rows for JOINs in MySQL Without Oracle's `CONNECT BY` or Similar Functions?

MySQL JOIN: Oracle の CONNECT BY

を使用しない行生成

結合で行セットを生成するための Oracle の便利な CONNECT BY LEVEL 句とは異なり、MySQL には直接同等の句がありません。 Oracle のアプローチにより、結合のシーケンスの作成が簡素化されます。

<code class="language-sql">SELECT *
FROM dual
CONNECT BY LEVEL < p></code>

同様に、MS SQL Server は再帰を使用します。

<code class="language-sql">WITH hier(row) AS (
    SELECT 1
    UNION ALL
    SELECT row + 1
    FROM hier
    WHERE row < p></code>

PostgreSQL は generate_series を提供します:

<code class="language-sql">SELECT *
FROM generate_series(1, n)</code>

ただし、MySQL では、JOIN 操作で必要な行を生成するための代替戦略が必要です。 これらには、組み込みの行ジェネレーターがないため、回避策や外部ツールが必要になることがよくあります。

以上がOracle の「CONNECT BY」または同様の関数を使用せずに、MySQL で JOIN の行を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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