SQL IN

הפסוקית IN במשפטי SQL תבוא לאחר ה - WHERE כתנאי הבא להגדיר רשימה של ערכים רצויים. למשל המספרים 3, 7 ו - 20.

המבנה הכללי של משפט IN יהיה:

SELECT <רשימת עמודות> FROM <שם הטבלה> WHERE <שם עמודה> IN <ערך1, ערך2, ערך3...>;

על מנת להמחיש זאת טוב יותר הבה נשתמש בטבלה הבאה ששמה בבסיס הנתונים יהיה Products:

Status Price Name Product_ID
פעיל 100 מוצר 1 123
פעיל 246 מוצר 2 124
לא פעיל 200 מוצר 3 125
נניח שברצוננו לשלוף מטבלת המוצרים שלמעלה את שמות כל המוצרים שמחיריהם הם 100 ואת שמות המוצרים שמחיריהם 200. משפט ה - SQL שלנו במקרה זה יהיה:

SELECT Name FROM Products WHERE Price IN (100, 200);

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

משפטי IN על מחרוזות:

משפטי IN לא חייבים להיות רק על ערכים מספריים אלא למשל גם על מחרוזות. למשל אנו יכולים לבקש לאחזר את כל מחירי המוצרים ששמם הוא: 'מוצר 1' ו'מוצר 3' בטבלת המוצרים שלנו. משפט ה - SQL שלנו ייראה במקרה זה כך:

SELECT Price FROM Products WHERE Product_Name IN('מוצר 1' ,'מוצר 3');

במקרה זה יוחזרו הערכים הבאים [ 100, 200}. זאת משום שאלו מחיריהם של המוצרים ששמותיהם הופיעו ברשימת הערכים המבוקשים.

משפטי IN על תאריכים:

שאילתה אפשרית אחרת היא שאילתה המבקשת לאחזר נתונים על פי רשימת תאריכים. הצורה הכללית של משפט SQL כזה ייראה כך:

SELECT <רשימת עמודות> FROM <שם טבלה> WHERE <שם עמודה> IN (#22.02.1964#, #7.4.1964#, #6.12.1990#);

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

 
© 2010-2013  www.Devschool.co.il | מדיניות פרטיות | תנאי שימוש