פרק 4: פונקציות בשפת SQL

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

על כל שדה ב SQL ניתן להשתמש בפונקציות.

בפרק הזה נלמד על פונקציות בשפת SQL.
ישנן המון פונקציות בשפה, ובפרק הזה אדגים כמה מהם ואיך משתמשים בהם.

 

פונקצית Substring

פונקציית substring  מחזירה חלק ממחרוזת:

 

בדוגמה שלפנינו ביקשנו את ההתחלה ה 3 ספרות הראשונות של העיר.

 select

       customer_city,

       substring(customer_city,1,3) as city_prefix

from

       customers

ניתן להשתמש בפונקציות גם במקומות נוספים ב שאילתה – למשל בהוראת where 

select

       customer_city

from

       customers

where

       substring(customer_city,1,3) = 'fra'

 

פונקציית Coalesce

בעזרת פונקציית coalesce ניתן להשלים ערכים חסרים.

כאשר יהיה ערך חסר בעמודה שרשמנו בפרמטר הראשון, פונקציית coalesce תיקח את הערך שרשמנו בפרטמר השני.

 

לדוגמה: 

select      

       coalesce(customer_zip_code_prefix,90210) as customer_zip_code_prefix

from

       customers

             

הסבר – כאשר פונקציית coalesce מזהה שלאחר הלקוחות חסר מיקוד, היא משלמה את המיקוד 90210

 

פונקציות תאריך

לכל דטה-בייס יש פונקציות משלו לתאריך. אם אתם עובדים ב PostgreSQL ישנם כמה פונקציות בסיסיות ששווה להכיר :

select

     order_id,

     order_purchase_timestamp,

     extract (day from order_purchase_timestamp::date) as d,

     extract (month from order_purchase_timestamp::date) as m,

     extract (year from order_purchase_timestamp::date) as y

from

       orders

הסבר:

  • פונקציית extract מחלצות את מרכיבי התאריך משדה מוג תאריך.
  •      האופרטור ::date ממיר את שדה order_purchase_timestamp לשדה מסוג תאריך.

 

פונקצית Like  ו Rlike – חיפוש בתוך מחרוזות

כדי לחפש במשתני מחרוזת (string)  אפשר להשתמש ב like

select

*     

from

       customers

where

       customer_city  like '%sao%'

בדוגמה הנ"ל השאילתה תחזיר את כל השורות שבעיר מופיע המחזרות sao.

בחלק מבסיסי הנתונים אפשר להשתמש בסינון לפי regular expression בעזרת פונקציית rlike



תרגול שפת SQL

באתר strata scratch תמצאו תרגילים רבים עם שאלות עסקיות מורכבות, וממשק המאפשר כתיבה והרצה של שאילתות כך שתוכלו לבדוק האם הפתרון שלכם נכון. באתר יש גם אפשרות לתרגל תרגילים ב- Python.

התרגול באתר הוא ללא עלות, אך אפשר להירשם כדי לקבל גישה לתרגילים חדשים ופתרונות לכל התרגילים (גילוי נאות – רישום לאתר דרך הקישור מתגמל אותי בעמלה קטנה, וגולשים המגיעים דרך הקישור יכולים להשתמש בקוד קופון yuval20 על מנת לקבל 20% הנחה).

 

נכתב על ידי יובל מרנין,
לשרותי ניתוח נתונים ויצירת דוחות BI ניתן לפנות אליי ב- לינקדאיןפייסבוק או במייל: [email protected]

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

Yuval Marnin

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