1 / 61

פקודות לטיפול בנתונים (Data Manipulation )

פקודות לטיפול בנתונים (Data Manipulation ). הפקודה : SELECT. 2 המשפטים הראשונים הינם חובה וארבעת הנוספים-רשות. משפט ה SELECT -. מגדיר את שמות העמודות שיש לשלוף ולהציג שמות של עמודות מטבלה אחת או יותר ניתן להגדיר חישובים על עמודות

chen
Download Presentation

פקודות לטיפול בנתונים (Data Manipulation )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. פקודות לטיפול בנתונים (Data Manipulation)

  2. הפקודה: SELECT • 2 המשפטים הראשונים הינם חובה וארבעת הנוספים-רשות

  3. משפט הSELECT - • מגדיר את שמות העמודות שיש לשלוף ולהציג • שמות של עמודות מטבלה אחת או יותר • ניתן להגדיר חישובים על עמודות • ניתן להגדיר פונקציות הפועלות על עמודה (חישוב ממוצע של גיל) • ניתן להגדיר שם נוסף לעמודה • הסדר שבו שמות העמודות רשומות הוא הסדר שבו הן תוצגנה

  4. משפט WHERE • הגדרת תנאי לוגי לשליפת שורות • מכיל אופרטורים השוואתיים: =, >, <, <>, =<, => • מכיל אופרטורים לוגיים: NOT, OR, AND • בדיקת קיום ערך בתוך קבוצה סגורה של ערכים ע”י שימוש ב IN - • בדיקת קיום ערך בתוך טווח ערכים ע”י שימוש ב- BETWEEN • בדיקת קיום מחרוזת תווים בתוך ערכים של עמודה ע”י שימוש ב- LIKE

  5. משפטים נוספים בפקודת ה- SELECT • משפט GROUPED BY - מאפשר הקבצת שורות שבהם מופיעים בעמודה/ות מסוימת/ות ערכים זהים • משפט HAVING - מגדיר תנאי לוגי אותו יקיימו השורות המקובצות בלבד • משפט ORDER BY - מגדיר סדר המיון שבו תוצגנה השורות הנשלפות

  6. הפקודה Select של שפת SQLמול פקודת Select של האלגברה הטבלאית • הפקודה Select של שפת SQL מכילה בתוכה את 3 האופרטורים של האלגברה הטבלאית: • ?

  7. הפקודה Select של שפת SQLמול פקודת Select של האלגברה הטבלאית • Join, Project, Select

  8. בסיס הנתונים

  9. בסיס הנתונים

  10. בסיס הנתונים

  11. שליפת כל העמודות וכל השורות - טבלה אחת

  12. שליפת שורות ועמודות מסוימות

  13. שינוי שם עמודה

  14. שליפת שורות ללא הצגת שורות כפולות

  15. בחירת שורות - בדיקת השוואה

  16. בחירת שורות - בדיקת השוואה

  17. בחירת שורות - בדיקת השוואה עם תנאי בוליאני

  18. בחירת שורות - בדיקת טווח ערכים רציף

  19. בחירת שורות - בדיקת קיום ערך בתוך קבוצת ערכים

  20. בחירת שורות - בדיקת מחרוזת Wild

  21. בחירת שורות - בדיקת מחרוזת

  22. עמודות מחושבות (Calculated columns) 2008 ‘AUT2008’

  23. הוספת כיתוב קבוע 2008 ‘AUT2008’

  24. פונקציות מובנות (Build-In Function) • פועלות על עמודה כל שהיא ומחזירות ערך יחיד • אם רוצים שהפונקציה תתעלם מערכים כפולים בעמודה נשתמש ב- Distinctלפני שם העמודה • רשימת הפונקציות הינה:

  25. תחביר הפקודה

  26. דוגמאות

  27. דוגמאות 2007 ‘SUM2007’

  28. מיון התוצאה (Order By)

  29. שאילתות מקובצות- Grouped Queries • מאפשר הקבצה של שורות בעלות ערך זהה • הצגת שורה אחת עבור אוסף של שורות המכילות אותו ערך בעמודות מסוימות • משפט ה- Having מגדיר תנאי על השורות המקובצות • כל שם עמודה המופיע במשפט Group By חייב להופיע קודם במשפט ה- Select ובאותו הסדר

  30. שאילתות מקובצות - Grouped Queries

  31. שאילתות מקובצות - Grouped Queries desc

  32. שאילתות עם מספר טבלאות • מתבסס על הקשרים הלוגיים בין הטבלאות • הצירוף (Join) מתבצע ע”י הגדרת תנאי כל שהוא בין העמודות של הטבלאות • התנאי יכול להיות: שוויון (Equi Join) או תנאי לוגי אחר (Theta Join) • מערכות מסחריות קובעות מגבלות לגבי מספר הטבלאות המשתתפות - 8

  33. דוגמא • הצג את שמות הסטודנטים ואת עיר מגוריהם עבור כל הסטודנטים שלמדו בקורס c-200

  34. שאילתות עם מספר טבלאות INNER

  35. שאילתות עם מספר טבלאות

  36. שאילתות עם מספר טבלאות

  37. סטודנטים בקורסים עם ציון ממוצע גבוה מציון הממוצע של הקורס • SELECT • course_name,student_id,student_name,c_avg.course_avg,avg(grade) as student_avg • FROM grades g, students s, courses c, (SELECT course_id, avg(grade) as course_avg FROM grades GROUP BY course_id) c_avg • WHERE s.student_id = g.student_id • and c.course_id = g.course_id • and c_avg.course_id = g.course_id • GROUP BY course_name,student_id,student_name,c_avg.course_avg • HAVING avg(grade) > c_avg.course_avg • ORDER BY s.student_id,student_name

  38. צירוף טבלאות ע”י Outer Join • הצירוף הרגיל הנקרא גם Inner Joinמעביר לטבלת התוצאה רק זוגות של שורות מ- 2 טבלאות עבורן מתקיים תנאי הצירוף • הצירוף החיצוני Outer Join מעביר אל טבלת התוצאה את כל השורות של אחת או שתי הטבלאות המשתתפות בצירוף:

  39. צירוף טבלאות ע”י Outer Join • Left Outer Join - לטבלת התוצאה עוברות כל השורות מהטבלההשמאלית • Right Outer Join- לטבלה התוצאה עוברות כל השורות מהטבלה הימנית • Full Outer Join- לטבלת התוצאה עוברות כל השורות מ- 2 הטבלאות

  40. צירוף טבלאות ע”י Outer Join -תחביר הפקודה

  41. צירוף טבלאות ע”י Outer Join - דוגמא: • הצג את רשימת ראשי המחלקה, שם המחלקה שבראשם הם עומדים ושמות הקורסים המוצעים ע”י אותה מחלקה

  42. צירוף טבלה אל עצמה (Reflexive Join, Self Join) • מאפשר התייחסות מספר פעמים אל אותה טבלה

  43. תת שאילתא • יכולת הקינון מאפשרת לשפת SQL להיקרא שפה מובנית • סדר ביצוע השאילתות הוא מתת השאילתא הפנימית ביותר ועד לשאילתא הראשית • תת השאילתא מוקפת בסוגריים ומופיעה בתוך משפט WHERE של השאילתא הראשית • תת השאילתא יוצרת טבלת תוצאה המכילה עמודה אחת בלבד או ערך בודד • תת השאילתא אינה יכולה להכיל מיון • משפט WHEREשל תת-שאילתא יכול להכיל בעצמו תת שאילתא נוספת - מבנה מקונן

  44. תת שאילתא - דוגמא

  45. תת שאילתא • כאשר תת שאילתא מחזירה קבוצת ערכים ניתן לבדוק אם הערכים של עמודה מהשאילתא הראשית מופיעים בתוך קבוצת הערכים המוחזרים ע”י תת השאילתא באמצעות האופרטור IN

  46. תת שאילתא - דוגמאות ומספר הקורס

  47. תת שאילתא - דוגמאות NAME, CITY

  48. סטודנטים שלא לקחו קורסים עם 4 נקודות והציונים שלהם מעל 75 • SELECT student_id, student_name, course_name, points, grade • FROM students s, grades g, courses c • WHERE g.student_id=s.student_id • and c.course_id =g.course_id • and not exist (SELECT * from courses WHERE points=4) • and grade > 75

  49. איחוד תוצאות של שאילתות (Union)

  50. חיתוך תוצאות של שאילתות (Intersect)

More Related