Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menjana Baris untuk JOIN dalam MySQL Tanpa `CONNECT BY` atau Fungsi Serupa Oracle?

Bagaimanakah Saya Boleh Menjana Baris untuk JOIN dalam MySQL Tanpa `CONNECT BY` atau Fungsi Serupa Oracle?

Linda Hamilton
Linda Hamiltonasal
2025-01-15 10:02:43181semak imbas

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

MySQL JOIN: Penjanaan Baris Tanpa Oracle CONNECT BY

Tidak seperti klausa CONNECT BY LEVEL Oracle yang mudah untuk menjana set baris dalam cantuman, MySQL tidak mempunyai persamaan langsung. Pendekatan Oracle memudahkan mencipta urutan untuk gabungan:

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

Begitu juga, MS SQL Server menggunakan rekursi:

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

Tawaran PostgreSQL generate_series:

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

Walau bagaimanapun, MySQL memerlukan strategi alternatif untuk menjana baris yang diperlukan dalam operasi JOIN. Ini selalunya melibatkan penyelesaian atau alatan luaran kerana ketiadaan penjana baris terbina dalam.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Baris untuk JOIN dalam MySQL Tanpa `CONNECT BY` atau Fungsi Serupa Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn