שם הכותב: תאריך: 12 נובמבר 2013

שיעור 5 – 10/11/13

Inner Join


? למה לא ניתן להשתמש בכינוי ב-SELECT לשדה מסוים בשום מקום אחר בשאילתה?
! סדר פעולות שאילתות SQL

  1. מעלה לזיכרון טבלאות שיש ב-FROM לפי סוג קשר הגומלים.

    המחשב לוקח את הנתונים המשותפים לשתי הטבלאות: (בהתאם לתרגיל כיתה 5)


  2. פעולת WHERE מצמצמת את הרשומות לפי הקריטריון.
  3. פעולת GROUP BY מקבצת את הנתונים לקבוצות ייחודיות (כל קבוצה תוצג פעם אחת, למשל כל הרשומות של תל-אביב יקובצו תחת רשומה אחת המשויכת כ"תל-אביב").
  4. פעולת HAVING מצמצת תוצאות לאחר הקיבוץ.
  5. לא כלול בחומר הנלמד
  6. לא כלול בחומר הנלמד
  7. לא כלול בחומר הנלמד
  8. לא כלול בחומר הנלמד
  9. לא כלול בחומר הנלמד
  10. לא כלול בחומר הנלמד
  11. לא כלול בחומר הנלמד
  12. לא כלול בחומר הנלמד
  13. פעולת SELECT שולפת את הנתונים / מציגה אותם.
  14. פעולת ORDER BY ממיינת את הנתונים.

פעולת ה-SELECT הינה פעולה מספר 13 אשר נקראת על ידי המערכת רק לאחר 12 הפעולות שקודמות לה, ולכן המערכת לא תשתמש עבור שאר הפעולות בכינוי אשר ניתן לשדה ב-SELECT. הפעולה היחידה שתשתמש בכינוי שניתן ב-SELECT היא פעולת ORDER BY (מיון).

סוגי קשרי גומלין


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

? למה נכתב ב-WHERE שדה מתוך טבלת השיבוץ ועליו בוצע ה-NULL והאם ניתן לשים שדה מטבלת עובדים או שדה מטבלת פרויקטים?
! כשנרצה לחתוך החוצה את כלל הנתונים הלא משובצים, חייבים ב-WHERE להשתמש בשדה מטבלת השיבוץ.

 ? האם חשוב איזה שדה ניקח מטבלת השיבוץ?
! אפשר לקחת כל שדה, אין לכך חשיבות.

 ? איך נקבע מה LEFT ומה RIGHT ?
! המשמעות היא הוצאת כלל הנתונים מהטבלאות כך שהנתונים יילקחו מהטבלה שנמצאת משמאל לקשר LEFTJOIN ומהטבלה שנמצאת מימין לקשר RIGHTJOIN.

RIGHTJOIN ו-LEFT JOIN ניתן לרשום אך ורק לכיוון הטבלה עם המפתח הראשי. במידה ונעשה RIGHT ו-LEFT לכיוון הקשר מדובר בטעות שאין לבצעה. המטרה של LEFT ו-RIGHT היא להביא את כלל הנתונים שמופיעים בטבלה ולהביא את כלל הנתונים ניתן רק מטבלת בסיס ולא מטבלת קשר.

תרגול כיתה:

  1. הצג את הלקוחות של קנו דבר

  2. הצג את כלל הלקוחות
שייך לנושאים: אריק אדלמן, מסדי נתונים


9 − שתיים =

תואר ראשון
תואר שני
מרצים