Если мы будем рассматривать функции окна как расширение для vanilla SQL, каково их преимущество перед ним?Функции окна vs vanilla SQL
Можете ли вы выполнять запросы и вещи, которые не были бы возможны при использовании «простого» SQL?
Если мы будем рассматривать функции окна как расширение для vanilla SQL, каково их преимущество перед ним?Функции окна vs vanilla SQL
Можете ли вы выполнять запросы и вещи, которые не были бы возможны при использовании «простого» SQL?
Простой ответ «да», вы можете делать то, что было бы невозможно в противном случае - по крайней мере, ни в одном запросе.
Простым примером является row_number()
, который вы не можете реплицировать (одним нажатием) на таблицу, которая не имеет уникальных ключей.
И тиражирование row_number в таблице * с * уникальными ключами, хотя это возможно, вероятно, будет ужасно неэффективным с треугольной объединяются с квадратичной сложностью. –
Функции окна были частью ANSI SQL в течение почти двух десятилетий. Почему вы считаете их расширением? Но простой ответ на ваш вопрос заключается в том, что они более сжатые, быстрые и расширяют функциональность базового SQL. Возможно, именно поэтому они находятся в стандарте. –
«Расширение» использовалось как способ устранения неоднозначности области вопроса, если вы можете иметь тот же результат без использования оконных функций – microwth