פרק 14: הוראת Qualify בשפת SQL

You are currently viewing פרק 14: הוראת Qualify בשפת SQL
Image by Gordon Johnson from Pixabay

בשפת SQL הדרכים הנפוצות לסינון שורות הם באמצעות הוראות Where או Having.
אבל ישנה עוד הוראה מיוחדת בשם Qualify שגם באמצעותה ניתן לסנן שורות.

היתרון המיוחד של הוראת Qualify על פני האחרות, היא היכולת שלה לסנן שורות בטבלה בעזרת פונקציות חלון. סינון כזה יכול לפתוח עולם שלם של יכולות אנליטיות חדשות. 

מתי כדאי להשתמש בהוראת Qualify?
בכל פעם שנרצה לבצע סינון מתוחכם על הטבלה שאינו מבוסס רק על סינון לפי הערכים בשורה.

דוגמה:
נניח ויש לנו טבלה בשם pages ובה העמודים שצפו כל המשתמשים באתר, ואנחנו מעוניינים לשלוף רק את העמוד האחרון שבו ביקר כל משתמש. 

הוראת Qualify מאפשרת לנו לבצע סינון כזה בקלות:

select

       user_id,

       time_stamp,

       page_name

from

       pages

qualify

       row_number() over (partition by user_id order by time_stamp desc)=1

הערה חשובה

לא בכל הדאטה-בייסים מופיעה הוראת Qualify.
במקרה בו נרצה לסנן תוצאות של פונקציות חלון ללא Qualify נאלץ לעטוף את השאילתה עם פונקציית החלון בשאילתה אחרת (כלומר ניצור תת שאילתה) ורק אז נוכל לסנן את תוצאות פונקציית החלון באמצעות הוראת where. 


נכתב ע"י יובל מרנין.
לחברות המעוניינות בשירותי פרילנס או סדנאות של אנליסט, ניתן לפנות אליי [email protected]

*** לפודקאסט של הבלוג לחצו כאן **** 

לחצו על הקישור בשביל המדריך המלא לשפת SQL.

 

Yuval Marnin

לחברות המעוניינות בשירותי פרילנס או מנטורינג של אנליסט, ניתן לפנות אליי ל[email protected]