Оператор 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