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

תנאי השוואה פשוטים מול סוגי ערכים שונים

ראשית נעסוק בתנאי השוואה פשוטים (כאמור = , < , > , => , =<, <>) ביחס לערכים שונים: מספריים, מחרוזתיים ותארכיים.

השוואה מול מספרים

כדי להשוות מול ערך מספרי נכתוב את ערכו יחד עם סימן ההשוואה המתאים:

 

WHERE  salary  =  500

חל איסור לכתוב את הערך המספרי יחד עם תווים מיוחדים:

WHERE  salary =    $50000  (שגיאה)

WHERE  salary  =   50,000  (שגיאה)

WHERE salary   =   50000   (תקין)

!         כאשר נבקש לקבל מספרים אשר אינם קיימים בטבלה( לדוגמא, salary > 1000000) לא תתקבל אף תוצאה אך גם לא תתקבל שגיאה, דרשנו נתונים שמבחינת הטבלה לא קיימים.


השוואה מול מחרוזות

כדי להשוות מול מחרוזות:

1.      חובה לכתוב את הערך המחרוזתי בתוך גרשים ('ערך מחרוזתי')  

WHERE  last_name = Levi  (שגיאה)

WHERE  last_name = ‘Levi’ (תקין)

2.      מבחינת גודל האותיות (LEVI מול Levi), לא חייבת להיות תאימות בין הערך בתוך העמודה לבין הערך שאותו כתבנו.

לדוגמא, קיימים עובדים בתוך הטבלה אשר שם משפחתם הוא Levi, אנו רוצים לכתוב שאילתה אשר תציג את שמם הפרטי של כל אותם עובדים.

שתי השאילתות הבאות יחזירו את אותן תוצאות בדיוק

SELECT first_name 

FROM employees 

WHERE last_name = ‘lEvI’ 

SELECT first_name 

FROM employees 

WHERE last_name = ‘Levi’

השוואה מול תאריכים

כדי להשוות מול תאריכים חובה לכתוב את הערך התאריכי בתוך גרשים ('ערך תאריכי')  ובפורמט התקין:

WHERE  hire_date  = 05-17-2009     (שגיאה - פורמט לא תקין וחסרים גרשים)

WHERE hire_date = '05-17-2009' (שגיאה - פורמט לא תקין)    

WHERE hire_date = '2009-05-17' (תקין)

v     באופן דיפולטיבי SQL Server מציג תאריכים בפורמט הבא: yyyy-mm-dd.

מגבלת תנאי ההשוואה הפשוטים

תנאי השוואה פשוטים מוגבלים לערך בודד. לדוגמא, אם נרצה לדעת את שמות העובדים אשר שכרם שווה ל– 5000, 6000, 8500, ו– 10,000 לא נוכל לכתוב:

 

WHERE  salary = 5000 , 6000 , 8500 , 10,000 (שגיאה)

נערך ע”י אלעד פלג