2016-07-19 1 views
0

Если мы будем рассматривать функции окна как расширение для vanilla SQL, каково их преимущество перед ним?Функции окна vs vanilla SQL

Можете ли вы выполнять запросы и вещи, которые не были бы возможны при использовании «простого» SQL?

+2

Функции окна были частью ANSI SQL в течение почти двух десятилетий. Почему вы считаете их расширением? Но простой ответ на ваш вопрос заключается в том, что они более сжатые, быстрые и расширяют функциональность базового SQL. Возможно, именно поэтому они находятся в стандарте. –

+0

«Расширение» использовалось как способ устранения неоднозначности области вопроса, если вы можете иметь тот же результат без использования оконных функций – microwth

ответ

1

Простой ответ «да», вы можете делать то, что было бы невозможно в противном случае - по крайней мере, ни в одном запросе.

Простым примером является row_number(), который вы не можете реплицировать (одним нажатием) на таблицу, которая не имеет уникальных ключей.

+1

И тиражирование row_number в таблице * с * уникальными ключами, хотя это возможно, вероятно, будет ужасно неэффективным с треугольной объединяются с квадратичной сложностью. –