**** לפודקאסט של הבלוג לחצו כאן ****
המדריך נכתב על ידי יובל מרנין.
למידע על שרותי מנטורינג של דאטה אנליסט לחצו כאן.
בפרק זה נלמד על תת שאילתה בשפת SQL.
כל פלט של שאילתה היא למעשה טבלה בפני עצמה, וניתן להשתמש בפלט בתוך שאילתה אחרת:
select
*
from
(
select
customer_id,
count(*) as orders
from
orders
group by
customer_id
) as sub_query
left join
customers as c on sub_query.customer_id=c.customer_id
order by
sub_query.orders desc
בשאילתה שלפנינו במקום להשתמש בטבלה מהדטה-בייס בהוראת ה from יצרנו תת שאילתה שמקבצת עבור כל לקוח את כמות ההזמנות שלו ואליה חיברנו את הנתונים של הלקוח.
כדי שנוכל להתייחס לטבלה בהמשך לתת שאילתה יש לתת לה שם עם הוראת as.
מומלץ לבחור שם עם משמעות כיוון ששימוש ששאילתה עם תתי שאילתות הופכת למורכבת יותר ושמות הגיוניים מקלים על מעקב אחר מקור השדות בשליפה.
בתתי שאילתות ניתן להשתמש בהרבה מקומות בתוך השאילתה, אך השימושים העיקריים הם בתוך הוראת from כמו בדוגמה שהוצגה לפני, בהוראת join (חיבור של תת השאילתה לטבלה אחרת) ובהוראת in כמו בדוגמה הבאה:
select
*
from
customers
where
customer_id in
(
select
distinct
customer_id
from
orders
where
order_purchase_timestamp::date='2017-09-19'
)
השאילתה הנ"ל מבקשת מהדטה-בייס את פרטי הלקוחות רק עבור הלקוחות שהזמינו ב 19 בספטמבר 2017.
כאשר משתמשים בתת שאילתה בתוך הוראת in על השאילתה להחזיר רק שדה אחד (במרה שלנו customer_id).
תרגול שפת SQL
באתר strata scratch תמצאו תרגילים רבים עם שאלות עסקיות מורכבות, וממשק המאפשר כתיבה והרצה של שאילתות כך שתוכלו לבדוק האם הפתרון שלכם נכון. באתר יש גם אפשרות לתרגל תרגילים ב- Python.
התרגול באתר הוא ללא עלות, אך אפשר להירשם כדי לקבל גישה לתרגילים חדשים ופתרונות לכל התרגילים (גילוי נאות – רישום לאתר דרך הקישור מתגמל אותי בעמלה קטנה, וגולשים המגיעים דרך הקישור יכולים להשתמש בקוד קופון yuval20 על מנת לקבל 20% הנחה).
נכתב על ידי יובל מרנין,
לשרותי ניתוח נתונים ויצירת דוחות BI ניתן לפנות אליי ב- לינקדאין, פייסבוק או במייל: [email protected]
*** לפודקאסט של הבלוג לחצו כאן ****
המדריך נכתב על ידי יובל מרנין.
למידע על שרותי מנטורינג של דאטה אנליסט לחצו כאן.
**** לפודקאסט של הבלוג לחצו כאן ****
אם התגלתה טעות אנא צרו קשר במייל:
[email protected]
פרק קודם – פרק 9: קיבוץ נתונים – Group By
פרק הבא – פרק 11: סדר הוראות