ה שפת שאילתות מובנית (SQL) מספק למשתמשי מסדי נתונים את היכולת ליצור שאילתות מותאמות אישית לחילוץ מידע ממאגרי מידע. במאמר קודם בחנו חילוץ מידע ממסד נתונים באמצעות שאילתות SQL SELECT. בואו נרחיב את הדיון הזה ונבדוק כיצד ניתן לבצע מתקדם שאילתות כדי לאחזר נתונים תואם לתנאים ספציפיים.
הבה נבחן דוגמה המבוססת על הנפוץ רוח צפונית מסד נתונים, שנשלח לעתים קרובות עם מוצרי מסד נתונים כהדרכה.
הנה קטע מטבלת המוצרים של מסד הנתונים:
| מזהה מוצר | שם מוצר | ספק מזהה | כמות ליחידה | מחיר ליחידה | יחידות במלאי |
|---|---|---|---|---|---|
| 1 | חי | 1 | 10 קופסאות x 20 שקיות | 18.00 | 39 |
| 2 | צ'אנג | 1 | בקבוקים של 24 - 12 עוז | 19.00 | 17 |
| 3 | סירופ אניס | 1 | 12 - 550 מ"ל בקבוקים | 10.00 | 13 |
| 4 | תיבול הקאג'ון של השף אנטון | 2 | צנצנות 48 - 6 עוז | 22.00 | 53 |
| 5 | מיקס הגומבו של השף אנטון | 2 | 36 קופסאות | 21.35 | 0 |
| 6 | ממרח הבויזנברי של סבתא | 3 | צנצנות 12 - 8 עוז | 25.00 | 120 |
| 7 | האגסים היבשים האורגניים של הדוד בוב | 3 | 12 - £ 1 pkgs. | 30.00 | 15 |
תנאי גבול פשוטים
המגבלות הראשונות שנציב על שאילתתנו כוללות תנאי גבול פשוטים. אנו יכולים לציין אלה בסעיף WHERE בשאילתת SELECT, תוך שימוש בהצהרות תנאי פשוטות שנבנו עם אופרטורים סטנדרטיים, כגון ,> = ו- <=.
ראשית, בואו ננסה שאילתה פשוטה המאפשרת לנו לחלץ רשימה של כל המוצרים במסד הנתונים שיש להם UnitPrice של יותר מ -20.00:
בחר שם מוצר, UnitPrice
ממוצרים
איפה UnitPrice> 20.00
זה מייצר רשימה של ארבעה מוצרים, כפי שמוצג להלן:
ProductName UnitPrice
מיקס הגומבו של השף אנטון 21.35
תיבול הקאג'ון של השף אנטון 22.00
ממרח בויסנברי של סבתא 25.00
אגסים יבשים אורגניים של דוד בוב 30.00
אנו יכולים גם להשתמש בסעיף WHERE עם ערכי מחרוזת. זה בעצם משווה תווים למספרים, כאשר A מייצג את הערך 1 ו- Z מייצג את הערך 26. לדוגמה, נוכל להציג את כל המוצרים עם שמות המתחילים ב- U, V, W, X, Y או Z בשאילתה הבאה:
בחר שם מוצר
ממוצרים
WHERE ProductName> = 'T'
מה שמייצר את התוצאה:
שם מוצר
האגסים היבשים האורגניים של הדוד בוב
ביטוי טווחים באמצעות גבולות
סעיף WHERE מאפשר לנו גם ליישם תנאי טווח על ערך באמצעות מספר תנאים. לדוגמה, אם נרצה לקחת את השאילתה שלנו למעלה ולהגביל את התוצאות למוצרים עם מחירים בין 15.00 ל -20.00, נוכל להשתמש בשאילתה הבאה:
בחר שם מוצר, UnitPrice
ממוצרים
איפה UnitPrice> 15.00 ו- UnitPrice <20.00
זה מייצר את התוצאה המוצגת להלן:
ProductName UnitPrice
חי 18.00
צ'אנג 19.00
ביטוי טווחים בין
SQL מספק גם קיצור דרך בין תחביר המפחית את מספר התנאים שעלינו לכלול והופך את השאילתה לקריאה יותר. לדוגמא, במקום להשתמש בשני התנאים שלמעלה, נוכל לבטא את אותה שאילתה כמו:
בחר שם מוצר, UnitPrice
ממוצרים
היכן UnitPrice בין 15.00 ו- 20.00
כמו בסעיפי התנאים האחרים שלנו, BETWEEN עובד גם עם ערכי מחרוזת. אם נרצה לייצר רשימה של כל המדינות המתחילות ב- V, W או X, נוכל להשתמש בשאילתה:
בחר שם מוצר
ממוצרים
היכן שם מוצר בין "A" ו- "D"
מה שמייצר את התוצאה:
שם מוצר
סירופ אניס
חי
צ'אנג
מיקס הגומבו של השף אנטון
תיבול הקאג'ון של השף אנטון
סעיף WHERE הוא חלק עוצמתי בשפת SQL המאפשר לך להגביל את התוצאות לערכים שנמצאים בטווחים שצוינו. זה נפוץ מאוד כדי לעזור להביע היגיון עסקי, והוא אמור להיות חלק מערכת הכלים של כל איש מקצוע בבסיסי נתונים. לעתים קרובות מועיל לשלב סעיפים נפוצים בהליך מאוחסן כדי להנגיש אותם ללא ידע ב- SQL.