Praktische Anwendungsszenarien von CROSS APPLY und OUTER APPLY in SQL
Die Operatoren OUTER APPLY und CROSS APPLY in SQL ermöglichen flexible Datenoperationen und komplexe Abfrageausführung. Hier sind einige Anwendungsfälle aus der Praxis, die veranschaulichen, wann die einzelnen Operatoren verwendet werden sollten:
ÜBERGREIFENDE ANWENDUNG
<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>
ÄUSSERLICHE ANWENDUNG
<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>
Verwenden Sie die VALUES-Syntax (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>
Das obige ist der detaillierte Inhalt vonWann sollte CROSS APPLY vs. OUTER APPLY in SQL verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!