Rumah > pangkalan data > tutorial mysql > Bila dan Bagaimana Menggunakan OUTER APPLY dalam SQL: Contoh Dunia Sebenar?

Bila dan Bagaimana Menggunakan OUTER APPLY dalam SQL: Contoh Dunia Sebenar?

Mary-Kate Olsen
Lepaskan: 2025-01-10 08:33:42
asal
138 orang telah melayarinya

When and How to Use OUTER APPLY in SQL: Real-World Examples?

Contoh aplikasi praktikal OUTER APPLY dalam SQL

OUTER APPLY ialah pengendali berkuasa dalam SQL yang membolehkan anda mengaitkan baris dalam satu jadual dengan baris dalam jadual lain. Walaupun ia kelihatan serupa dengan INNER JOIN, ia menyediakan fungsi unik dalam situasi tertentu.

Kes penggunaan untuk OUTER APPLY

Berikut ialah beberapa contoh kehidupan sebenar OUTER APPLY yang membuktikan nilainya:

Soal N baris pertama mengikut kumpulan:

Contoh: Dapatkan semula dua parameter pertama setiap prosedur yang disimpan.

<code class="language-sql">SELECT pr.name, pa.name
FROM sys.procedures pr
OUTER APPLY (
  SELECT TOP 2 *
  FROM sys.parameters pa
  WHERE pa.object_id = pr.object_id
  ORDER BY pr.name
) pa
ORDER BY pr.name, pa.name;</code>
Salin selepas log masuk

Panggil fungsi bernilai jadual:

Contoh: Laksanakan fungsi bernilai jadual untuk setiap baris dalam pertanyaan luar.

<code class="language-sql">SELECT *
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle);</code>
Salin selepas log masuk

Gunakan semula alias lajur:

Contoh: Gunakan semula alias lajur untuk melakukan berbilang pengiraan.

<code class="language-sql">SELECT number,
  doubled_number,
  doubled_number_plus_one
FROM master..spt_values
CROSS APPLY (SELECT 2 * CAST(number AS BIGINT)) CA1(doubled_number)
CROSS APPLY (SELECT doubled_number + 1) CA2(doubled_number_plus_one);</code>
Salin selepas log masuk

Terbalikkan beberapa set lajur:

Contoh: Terbalikkan data daripada jadual dengan struktur nyahnormal.

<code class="language-sql">CREATE TABLE T
(
  Id INT PRIMARY KEY,
  Foo1 INT, Bar1 INT,
  Foo2 INT, Bar2 INT,
  Foo3 INT, Bar3 INT
);

SELECT Id,
  Foo,
  Bar,
  GrpName
FROM T
CROSS APPLY (VALUES('1', Foo1, Bar1),
                     ('2', Foo2, Bar2),
                     ('3', Foo3, Bar3)) V(GrpName, Foo, Bar);</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bila dan Bagaimana Menggunakan OUTER APPLY dalam SQL: Contoh Dunia Sebenar?. 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