Оператор CUBE
– это дополнительный параметр в предложении GROUP BY
инструкции SELECT
.
-
CUBE
– это расширение предложенияGROUP BY
. -
Оператор
CUBE
можно использовать, чтобы получать значения перекрестной таблицы с помощью одной инструкцииSELECT
.
Оператор CUBE может быть применен ко всем функциям агрегирования, включая AVG
, SUM
, MAX
, MIN
и COUNT
. Он используется для создания наборов результатов, обычно используемых для отчетов в виде перекрестных таблиц. ROLLUP
создает только часть возможных комбинаций промежуточных итогов, а CUBE
создает промежуточные итоги для всех возможных комбинаций группировок, заданных в предложении GROUP BY
, и общий итог. Оператор CUBE
используется с функцией агрегирования для создания дополнительных строк в наборе результатов. Столбцы, включенные в предложение GROUP BY
, содержат перекрестные ссылки для создания расширенного набора групп. Функция агрегирования, заданная в списке выбора, применяется к этим группам, чтобы получить итоговые значения для дополнительных строк суперагрегата. Число дополнительных групп в наборе результатов определяется числом столбцов, включенным в предложение GROUP BY
.
По сути для создания суперагрегатов используются все возможные комбинации столбцов или выражений в предложении GROUP BY
. При наличии n столбцов или выражений в предложении GROUP BY
возможно 2n комбинаций суперагрегатов. Математически эти комбинации образуют n-мерный куб, от которого оператор и получил свое название.
С помощью внешнего приложения или средств программирования эти значения суперагрегатов могут быть отображены на диаграммах и графиках, которые визуально и наглядно представляют результаты и отношения.
Далее: Форматирование иерархических отчетов с помощью LEVEL и LPAD