2016-07-19 7 views
0

Wenn wir Fensterfunktionen als eine Erweiterung von Vanilla SQL betrachten, was ist ihr Vorteil gegenüber dem?Fensterfunktionen vs Vanille SQL

Können Sie Abfragen und Dinge ausführen, die mit "normalem" SQL nicht möglich wären?

+2

Window-Funktionen gehören seit fast zwei Jahrzehnten zu ANSI SQL. Warum würdest du sie als Erweiterung betrachten? Aber eine einfache Antwort auf Ihre Frage ist, dass sie prägnanter, schneller sind und die Funktionalität von grundlegendem SQL erweitern. Vielleicht sind sie deshalb im Standard. –

+0

"Erweiterung" wurde als eine Möglichkeit verwendet, um den Umfang der Frage zu disambiguieren, wenn Sie dasselbe Ergebnis ohne Fensterfunktionen haben können – microwth

Antwort

1

Die einfache Antwort ist "Ja", Sie können Dinge tun, die sonst nicht möglich wären - zumindest nicht in einer einzigen Abfrage.

Ein einfaches Beispiel ist row_number(), das Sie nicht replizieren können (in einer einzigen Auswahl) für eine Tabelle, die keine eindeutigen Schlüssel hat.

+1

Und Replizieren Zeilennummer auf einer Tabelle * mit * eindeutigen Schlüsseln wäre wahrscheinlich schrecklich ineffizient mit einem dreieckigen verbinden mit quadratischer Komplexität. –