در این قسمت از آموزش اوراکل، بعد از آشنایی با کوئری های سلسله مراتبی، قصد داریم آموزش ROLLUP و CUBE در اوراکل را یادبگیریم. این بخش از آموزش شامل دو بخش اصلی می باشد.

  • شرط ROLLUP که رکوردی را نمایش می دهد و خروجی می دهد که شامل جمع کل هر گروه از رکوردهاست به علاوه رکوردهایی می باشد که شامل جمع کل نهایی تمامی گروه ها می باشد.
  • شرط CUBE که رکوردهایی را نمایش می دهد و خروجی می دهد که جمع کل ترکیب چند ستون می باشد به علاوه رکوردهایی نمایش می دهد که حاصل جمع کل می باشد.

استفاده از شرط ROLLUP

دستور ROLLUP در واقع توسعه دهنده و گسترش دهنده شرط GROUP BY در نهایت رکوردی را نمایش می دهد و خروجی می دهد که شامل جمع کل هر گروه از رکوردهاست به علاوه رکوردهایی می باشد که شامل جمع کل نهایی تمامی گروه ها می باشد.

دستور GROUP BY وظیفه اش دسته بندی رکورد ها براساس مقادیر یک ستون در جدول می باشد.

مثال زیر یک نمونه ساده از شرط ROLLUP می باشد.

ROLLUP و CUBE در اوراکل 18

ارسال اطلاعلات یک ستون از جدول به ROLLUP

ما می خواهیم با استفاده از مثال بالا، از دستور Rollup استفاده کنیم.در خروجی یک رکورد علاوه بر رکورد های جدول نمایش میدهد که آن رکورد خروجی از جمع کل مقادیر ستون با استفاده از Rollup می باشد.

آموزش اوراکل 19

ارسال اطلاعلات بیش از یک ستون از جدول به ROLLUP

شما می توانید اطلاعات بیش از یک ستون را به ROLLUP ارسال کنید که نتیجه آن این است که رکورد های دسته بندی شده براساس ستونی که Rollup شده می تواند محاسبه کرده و جمع کل کرده و در یک رکورد اضافه به ازای هر دسته از رکوردها محاسبه و نمایش می دهد.

ROLLUP و CUBE در اوراکل 20

تغییر موقعیت و جایگاه ستوهای پاس داده شده به ROLLUP

اگر در مثال بالا ما جایگاه و موقعیت ستون های پاس داده شده به ROLLUP را عوض کنیم تمامی ساختار نمایش رکورد ها و محاسبات و جمع کل براساس دسته بندی رکورد تغییر خواهد کرد.

آموزش اوراکل 21

استفاده از Aggregate Functions و شرط ROLLUP

شما در کوئری های خود می تواند از تمامی توابع Aggregate Functions به همراه شرط ROLLUP استفاده کنید . مانند مثال زیر

ROLLUP و CUBE در اوراکل 22

استفاده از شرط CUBE

در ادامه آموزش ROLLUP و CUBE در اوراکل ، شرط CUBE خیلی شبیه شرط ROLLUP می باشد با تقاوت که در CUBE زیر مجموع ها را محاسبه می کند یعنی رکورد هایی که از محاسبه گروه هایی از رکورد هایی که از group by ایجاد شده است را با هم جمع می کند .

جعع کلی که برابر با مجموع رکوردهای جمعی حاصل از محاسبات رکورد های هر گروه می باشد.

آموزش اوراکل 23

آموزش آوراکل در مورد مطلب : ROLLUP و CUBE