Rumah > pangkalan data > tutorial mysql > Bolehkah Berbilang CTE, Termasuk Yang Rekursif, Digabungkan dalam Satu Pertanyaan SQL?

Bolehkah Berbilang CTE, Termasuk Yang Rekursif, Digabungkan dalam Satu Pertanyaan SQL?

Susan Sarandon
Lepaskan: 2025-01-05 05:19:39
asal
434 orang telah melayarinya

Can Multiple CTEs, Including Recursive Ones, Be Combined in a Single SQL Query?

Menyambung Berbilang CTE dalam Satu Pertanyaan SQL

Adakah ia boleh dilakukan untuk menggabungkan berbilang Ungkapan Jadual Biasa (CTE) dalam satu pertanyaan? Matlamatnya adalah untuk mencapai hasil yang serupa dengan:

WITH cte1 AS (
...
),
WITH RECURSIVE cte2 AS (
...
),
WITH cte3 AS (
...
)
SELECT ... FROM cte3 WHERE ...
Salin selepas log masuk

Pertanyaan ini menggabungkan satu CTE rekursif dan dua CTE bukan rekursif.

Penyelesaian:

Untuk menyambungkan berbilang CTE dalam satu pertanyaan:

  • Gunakan kata kunci DENGAN sekali pada permulaan.
  • Jika mana-mana CTE adalah rekursif, tambahkan kata kunci RECURSIVE sekali pada permulaan, walaupun tidak semua CTE adalah rekursif.

Dikemas kini Pertanyaan:

WITH RECURSIVE
  cte1 AS (...)         -- can still be non-recursive
, cte2 AS (SELECT ...
           UNION ALL
           SELECT ...)  -- recursive term
, cte3 AS (...)
SELECT ... FROM cte3 WHERE ...
Salin selepas log masuk

Isi Penting:

  • Kata kunci RECURSIVE membenarkan CTE untuk merujuk sendiri.
  • Dengan RECURSIVE, susunan WITH klausa menjadi tidak penting.
  • CTE yang tidak dirujuk dalam SELECT luar mungkin tidak dilaksanakan.

Atas ialah kandungan terperinci Bolehkah Berbilang CTE, Termasuk Yang Rekursif, Digabungkan dalam Satu Pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan