1 / 9

סכימה לדוגמא

סכימה לדוגמא. avg: average value min: minimum value max: maximum value sum: sum of values count: number of values. חזרה. צורה סטנדרטית של שאילתת SQL :. AggFunc ( … ). select *. select A 1 , A 2 , …. A k as A , ...,. r 3 as s ,. from r 1 , r 2 , …. where תנאי.

Download Presentation

סכימה לדוגמא

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. סכימה לדוגמא

  2. avg: average valuemin: minimum valuemax: maximum valuesum: sum of valuescount: number of values חזרה • צורה סטנדרטית של שאילתת SQL: AggFunc(…) select * select A1, A2, … AkasA, ..., r3ass,... fromr1, r2, … where תנאי group by Aa, Ab … havingתנאי

  3. פונקציות צבירה – פסוקית having • מצאו את שמות כל הסניפים שסכום כל החשבונות שבהם גדול מ-1200 ₪. select branch-name, avg (balance)from accountgroup by branch-namehaving avg (balance) > 1200 select branch-name, avg (balance)from accountgroup by branch-name הערה: התנאים בתוך פסוקית ה-having, מופעלים לאחר יצירת הקבוצות בעוד שהתנאים בפסוקית ה-where מופעלים עוד לפני יצירת הקבוצות

  4. פונקציות צבירה – פסוקית having • מצאו את ממוצע מאזני החשבונות עבור כל לקוח הגר בחיפה, וקיימים עבורו לפחות 3 חשבונות select D.customer-name, avg (balance) from depositor as D, account as A, customer as C where D.acct-number = A.acct-number and D.cust-name = C.cust-name and C.city = “חיפה” group by D.cust-name having count (D.acct-number) > = 3

  5. ערכי Null • ייתכן כי בתוך רשומה יהיו ערכים ריקים, המסומנים כ-null, עבור כמה תכונות. • Null משמעותו - ערך לא ידוע, או ערך לא קיים • היחס is null – ניתן להשתמש בו כדי לבדוק קיום ערכי null • לדוגמא: מצאו את כל מספרי ההלוואה אשר מופיעים עם ערך null עבור סכום הלוואה select loan-numberfrom loanwhere amount is null • תוצאת כל צירוף של ביטוי אריתמטי (חשבוני) עם ערך null מחזיר null • E.g. 5 + null returns null • פונקציות צבירה מתעלמות כמעט מערכי null • עוד קצת...

  6. ערכי Null ופונקציות צבירה • סכום כל ההלוואות select sum (amount)from loan • השאילתה מתעלמת לחלוטין מכל ערכי ה-null • התשובה היא null אם היו קיימים רק ערכי null. • כל פונקציות הצבירה למעט count(*)מתעלמות לחלוטין מערכי null

  7. שאילתות מקוננות • ניתן ב-SQL להשתמש בשאילתות מקוננות • שאילתה מקוננת, היא תת-שאילתה במבנה הרגיל של select-from-where, אשר מהווה חלק משאילתה רחבה יותר • נלמד שימוש מיוחד בפסוקית in

  8. דוגמא • מצאו את כל הלקוחות אשר יש להם גם חשבון וגם הלוואה בבנק select distinct B.customer-namefrom borrower as B, depositor as Dwhere B.customer-name = D.customer-name סיבוכיות: O(MXN) select distinct customer-namefrom borrowerwhere customer-name in (select customer-namefromdepositor) סיבוכיות:O(M+N)

  9. דוגמא נוספת • מצאו את כל הלקוחות אשר להם יש הלוואה בבנק, אך אין להם חשבון בבנק (select distinct customer-name from borrower ) פחות(select customer-name from depositor ) select distinct customer-namefrom borrowerwhere customer-name not in (select customer-namefrom depositor)

More Related