Presentation is loading. Please wait.

Presentation is loading. Please wait.

©Silberschatz, Korth and Sudarshan4.1Database System Concepts SQL n מבנה שאילתה n פונקציות צבירה.

Similar presentations


Presentation on theme: "©Silberschatz, Korth and Sudarshan4.1Database System Concepts SQL n מבנה שאילתה n פונקציות צבירה."— Presentation transcript:

1 ©Silberschatz, Korth and Sudarshan4.1Database System Concepts SQL n מבנה שאילתה n פונקציות צבירה

2 ©Silberschatz, Korth and Sudarshan4.2Database System Concepts סכמת עבודה

3 ©Silberschatz, Korth and Sudarshan4.3Database System Concepts מבנה בסיסי n צורת שאילתת SQL רגילה: select תכונה 1,,תכונה 2,..., תכונה n from טבלה 1, טבלה 2,..., טבלה m where תנאי n תוצאת שאילתה של SQL הינה טבלה בעצמה

4 ©Silberschatz, Korth and Sudarshan4.4Database System Concepts משפט ה- select n משפט ה- select טומן בחובו את התכונות שיוצגו בתוצאה n לדוגמא: מצא את שמות כל הסניפים (branches) בטבלה loan select branch-name from loan

5 ©Silberschatz, Korth and Sudarshan4.5Database System Concepts משפט ה- select SQL מרשה כפילויות בטבלאות וגם בתשובות לשאילתות n כדי לחייב דילול כל הכפילויות נשתמש בביטוי select distinct n מצא את שמות כל הסניפים בטבלה loan, והסר את הכפילויות select distinct branch-name from loan n אם נרצה לומר באופן מכוון לא לדלל כפילויות, נשתמש בביטוי select all select all branch-name from loan

6 ©Silberschatz, Korth and Sudarshan4.6Database System Concepts משפט ה- select n כוכבית במשפט select משמעותה "כל התכונות" select * from loan במשפט ה- select ניתן להשתמש בביטוים חשבוניים הכוללים את הפעולות, +, –, *, /. n השאילתה: select loan-number, branch-name, amount  100 from loan תחזיר את הטבלה loan בדיוק עם נתוניה האמיתיים, אך תכונת ה- amount שלה תוכפל פי 100.

7 ©Silberschatz, Korth and Sudarshan4.7Database System Concepts פסוקית ה- where n פסוקית ה – where מציינת את התנאים שהתוצאה מוכרחה לספק n כדי למצוא את כל מספרי ההלוואה (loan-number), עבור הלוואות אשר נעשו בסניף ירוחם, עם סכום הלוואה גדול מ-1200 ₪: select loan-number from loan where branch-name = ‘ ירוחם’ and amount > 1200 n ניתן באופן טבעי ליצור תנאים מורכבים עם האופרטורים and, or, או not.

8 ©Silberschatz, Korth and Sudarshan4.8Database System Concepts פסוקית ה- where קיים ב- SQL אופרטור ההשוואה between לדוגמא: מצא את מספרי ההלוואה של ההלוואות שסכומן היה בין 90,000 ₪, לבין 100,000 ₪. (כלומר  $90,000 וגם  $100,000) select loan-number from loan where amount between 90000 and 100000

9 ©Silberschatz, Korth and Sudarshan4.9Database System Concepts פסוקית ה- from n פסוקית ה- from קובעת מאין ילקחו הנתונים. מצא את כל האפשרויות לחיבור בין borrower x loan select  from borrower, loan n מצא את השם, מספר ההלוואה, וסכום ההלוואה של כל הלקוחות אשר יש להם הלוואה בסניף ירוחם. select customer-name, borrower.loan-number, amount from borrower, loan where borrower.loan-number = loan.loan-number and branch-name = ‘ירוחם ’

10 ©Silberschatz, Korth and Sudarshan4.10Database System Concepts פעולת שינוי שם SQL מרשה לנו לשנות את שמותיהן של תכונות וטבלאות ע"י שימוש בפסוקית as: old-name as new-name n מצא את שם, מספר ההלוואה, וסכום ההלוואה של כל הלקוחות; שנה את שם הטור loan-number לשם loan-id select customer-name, borrower.loan-number as loan-id, amount from borrower, loan where borrower.loan-number = loan.loan-number

11 ©Silberschatz, Korth and Sudarshan4.11Database System Concepts שימוש בשמות חלופיים עבור טבלאות n מוגדר בתוך פסוקית ה- from תוך שימוש בפסוקית ה- as n מצא את שמות הלקוחות ואת מספרי ההלוואות שלהם עבור כל הלקוחות אשר להם יש הלוואה בסניף כלשהו select customer-name, T.loan-number, S.amount from borrower as T, loan as S where T.loan-number = S.loan-number

12 ©Silberschatz, Korth and Sudarshan4.12Database System Concepts פעולות מחרוזתיות SQL מכיל אופרטור השוואה עבור מחרוזות. H כוכבית (*). התו * מתאים כל תת-מחרוזת.  סימן שאלה (?). התו ? מתאים כל תו יחיד. n מצא את שמות כל הלקוחות ששם הרחוב שלהם מכיל את תת המחרוזת "חן" select customer-name from customer where customer-street like ‘* חן * ’ SQL תומך במגוון פעולות מחרוזתיות כגון H שרשור (באמצעות התו &)  המרה מכתב גדול לקטן (ולהיפך) H מציאת אורך מחרוזת, חילוץ תת-מחרוזת

13 ©Silberschatz, Korth and Sudarshan4.13Database System Concepts סידור הופעת הרשומות n סדר בסדר אלפביתי עולה את שמות כל הלקוחות אשר להם יש הלוואה בסניף ירוחם select distinct customer-name from borrower, loan where borrower loan-number = loan.loan-number and branch-name = ‘ ירוחם ’ order by customer-name n נוכל להגדיר סדר יורד באמצעות שימוש במילה desc  order by customer-name desc

14 ©Silberschatz, Korth and Sudarshan4.14Database System Concepts פעולות על קבוצה n מצא את כל העובדים אשר להם הלוואה, חשבון, או שניהם: (select customer-name from depositor) union (select customer-name from borrower)

15 ©Silberschatz, Korth and Sudarshan4.15Database System Concepts פונקציות צבירה n פונקציות אלה פועלות על קבוצה טורית של ערכים בטבלה, ומחזיר ערך avg: average value min: minimum value max: maximum value sum: sum of values count: number of values

16 ©Silberschatz, Korth and Sudarshan4.16Database System Concepts פונקציות צבירה n מצא את ממוצע מאזני החשבונות (balance) בסניף ירוחם. מצא את מספר הרשומות בטבלת הלקוחות select avg (balance) from account where branch-name = ‘ירוחם ’ select count (*) from customer Select count(customer-name) from (Select distinct (customer-name) from depositor) מצא את מספר המפקידים בבנק

17 ©Silberschatz, Korth and Sudarshan4.17Database System Concepts פונקציות צבירה – אחד לפי (group by) n מצא את מספר המפקידים בכל סניף select branch-name, count (customer-name) from depositor, account where depositor.account-number = account.account-number group by branch-name


Download ppt "©Silberschatz, Korth and Sudarshan4.1Database System Concepts SQL n מבנה שאילתה n פונקציות צבירה."

Similar presentations


Ads by Google