Senario aplikasi praktikal CROSS APPLY dan OUTER APPLY dalam SQL
Pengendali OUTER APPLY dan CROSS APPLY dalam SQL menyediakan operasi data yang fleksibel dan pelaksanaan pertanyaan yang kompleks. Berikut ialah beberapa kes penggunaan kehidupan sebenar yang menunjukkan masa untuk menggunakan setiap operator:
SANGLANG DIGUNAKAN
<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>
<code class="language-sql">SELECT * FROM sys.dm_exec_query_stats AS qs CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle)</code>
MOHON LUAR
<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>
<code class="language-sql">CREATE TABLE T ( Id INT PRIMARY KEY, Foo1 INT, Bar1 INT, Foo2 INT, Bar2 INT, Foo3 INT, Bar3 INT );</code>
Gunakan sintaks VALUES (SQL Server 2008):
<code class="language-sql">SELECT Id, Foo, Bar, GrpName FROM T CROSS APPLY (VALUES('1', Foo1, Bar1), ('2', Foo2, Bar2), ('3', Foo3, Bar3)) V(GrpName, Foo, Bar); </code>
Atas ialah kandungan terperinci Bila hendak menggunakan CROSS APPLY vs. OUTER APPLY dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!