اوراکل (23.9)23ai – عبارت GROUP BY ALL

اوراکل 23ai چندین قابلیت جدید به عبارت GROUP BY اضافه کرده است که باعث ساده‌تر شدن نگارش کوئری و بهبود خوانایی آن می‌شود، به‌ویژه زمانی که داده‌ها بر اساس چند ستون گروه‌بندی می‌شوند.

از این نسخه، عبارت GROUP BY از بهبودهای زیر پشتیبانی می‌کند:

این قابلیت‌ها باعث کاهش تکرار و کوتاه‌تر شدن دستورات SQL شده و نگهداری آن‌ها را آسان‌تر می‌کند.

در بروزرسانی نسخه 23.9، اوراکل قابلیت دیگری معرفی کرده است: عبارت GROUP BY ALL.

عبارت GROUP BY ALL دیگر نیازی به تکرار تمام ستون‌های غیرتجمیعی (Non-Aggregate) از بخش SELECT در عبارت GROUP BY ندارد. در نسخه‌های قبلی، برای عبارت GROUP BY می بایست همه ستون‌های غیرتجمیعی به‌صورت صریح در آن ذکر شوند. مثال:

SELECT OWNER,
       DATA_TYPE,
       NULLABLE,
       COUNT(*) 
FROM   DBA_TAB_COLUMNS
where owner='AUDSYS'
GROUP BY OWNER, DATA_TYPE, NULLABLE;
OWNER                DATA_TYPE                 N   COUNT(*)
-------------------- ------------------------- - ----------
AUDSYS               VARCHAR2                  Y        325
AUDSYS               NUMBER                    Y         77
AUDSYS               CLOB                      Y         14
AUDSYS               RAW                       Y          8
AUDSYS               TIMESTAMP(6)              Y          8
AUDSYS               NUMBER                    N          4
AUDSYS               TIMESTAMP(6)              N          1

7 rows selected.

با قابلیت جدید GROUP BY ALL همین کوئری را می‌توان به شکل کوتاه‌تری نوشت:

 
SQL> SELECT OWNER,
       DATA_TYPE,
       NULLABLE,
       COUNT(*)
FROM   DBA_TAB_COLUMNS
where owner='AUDSYS'
GROUP BY ALL;  
OWNER                DATA_TYPE                 N   COUNT(*)
-------------------- ------------------------- - ----------
AUDSYS               VARCHAR2                  Y        325
AUDSYS               NUMBER                    Y         77
AUDSYS               CLOB                      Y         14
AUDSYS               RAW                       Y          8
AUDSYS               TIMESTAMP(6)              Y          8
AUDSYS               NUMBER                    N          4
AUDSYS               TIMESTAMP(6)              N          1

7 rows selected.

.این قابلیت، همان نتیجه را تولید می‌کند اما باعث وضوح بیشتر کوئری و کاهش تکرار کد می‌شود

ارائه خدمات مشاوره ، پشتیبانی و نصب و راه اندازی پایگاه داده اوراکل در سراسر کشور...................... تلفن: 09128110897 ایمیل:vahidusefzadeh@gmail.com

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *