פרק 7: צרופיי טבלאות – הוראת union בשפת SQL

המדריך נכתב על ידי יובל מרנין.
למידע על שרותי מנטורינג של דאטה אנליסט לחצו כאן.


בפרק זה נלמד על הוראת union בשפת SQL.

באמצעות הוראת
all  union ניתן לצרף את הפלט של שני שאילתות לטבלה אחת.
למשל – אם נרצה לראות את כל הלקוחות שיש לנו במערכת, ללא קשר לאם הם הזמינו או סתם רשומים בטבלת הלקוחות נריץ את השאילתה הבאה:

 

select

       customer_id

from

       orders

 

union all

 

select

       customer_id

from

       customers

 

 

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

 

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

 

select

       customer_id

from

       orders

 

union

 

select

       customer_id

from

       customers

 

ההבדל בין Join  ל Union

אם בהוראות join הוספנו לשורות בטבלה עמודות מטבלה אחרת ע"י חיבור של הטבלאות עם שדה מתאים, ב- union אנחנו מחברים את השורות של תתי השאילתות ולטבלה אחת.


תרגול שפת SQL

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

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

 

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

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

Yuval Marnin

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