Heim > Datenbank > MySQL-Tutorial > Wann und wie wird OUTER APPLY in SQL verwendet: Beispiele aus der Praxis?

Wann und wie wird OUTER APPLY in SQL verwendet: Beispiele aus der Praxis?

Mary-Kate Olsen
Freigeben: 2025-01-10 08:33:42
Original
137 Leute haben es durchsucht

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

Praktisches Anwendungsbeispiel von OUTER APPLY in SQL

OUTER APPLY ist ein leistungsstarker Operator in SQL, der es Ihnen ermöglicht, Zeilen in einer Tabelle mit Zeilen in einer anderen Tabelle zu verknüpfen. Obwohl es INNER JOIN ähnelt, bietet es in bestimmten Situationen einzigartige Funktionen.

Anwendungsfälle für OUTER APPLY

Hier sind einige Beispiele aus der Praxis, wie sich OUTER APPLY bewährt hat:

Fragen Sie die ersten N Zeilen nach Gruppe ab:

Beispiel: Rufen Sie die ersten beiden Parameter jeder gespeicherten Prozedur ab.

<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>
Nach dem Login kopieren

Tabellenwertfunktion aufrufen:

Beispiel: Führen Sie eine Tabellenwertfunktion für jede Zeile in der äußeren Abfrage aus.

<code class="language-sql">SELECT *
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle);</code>
Nach dem Login kopieren

Spaltenalias wiederverwenden:

Beispiel: Spaltenaliase wiederverwenden, um mehrere Berechnungen durchzuführen.

<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>
Nach dem Login kopieren

Mehrere Spaltensätze umkehren:

Beispiel: Daten aus einer Tabelle mit denormalisierter Struktur umkehren.

<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>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWann und wie wird OUTER APPLY in SQL verwendet: Beispiele aus der Praxis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage