SQL WHERE

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

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

SQL STATEMENT FROM <שם טבלה> WHERE <רשימת תנאים>;

על מנת להמחיש טוב יותר את תפקידו של ה - WHERE בתוך משפט SQL הבה נשתמש בטבלה הבאה ששמה בבסיס הנתונים יהיה Products:

Status Price Name Product_ID
לא פעיל 100 מוצר 1 123
פעיל 150 מוצר 2 124
פעיל 200 מוצר 3 125

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


SELECT *FROM PRODUCTS WHERE Status = 'לא פעיל';

הנתונים שיחזרו אלינו כתוצאה מקוד זה יהיו: 123, מוצר 1, 100 ו - לא פעיל. אילו היינו משמיטים את ה - WHERE אזי היו חוזרים אלינו כל הנתונים שבטבלה.

באותו האופן יכולנו גם למחוק נתונים בטבלה. למשל, אילו רצינו למחוק את כל המוצרים שמחירם גדול מ - 100 אזי היה נראה משפט ה - SQL שלנו כך:

DELETE * FROM Products WHERE Price > 100;

יש לשים לב שאם התנאי שלנו מוגדר כמחרוזת אזי עלינו להקיף את המחרוזת שמהווה תנאי לחיפוש בגרשיים, כפי שניתן לראות בדוגמת הקוד הראשונה. אם התנאי לחיפוש הוא מספרי אזי אין להקיף בגרשיים.

האופרטורים הנפוצים במשפטי WHERE

אופרטור הוא הסימן הקובע מה יהיה סוג התנאי. לדוגמה סימני השוויון (=)והגדול מ... (<)הם אופרטורים. להלן טבלת האופרטורים המותרים במשפטי WHERE:

אופרטור הסבר
= שווה ל -
<> שונה מ -
< גדול מ -
> קטן מ -
=< שווה או גדול מ -
=> שווה או קטן מ -
Between נמצא בטווח נתון
Like דומה ל - (חיפוש על פי תבנית)
In נמצא ב -

ריבוי תנאים במשפט WHERE

לעתים ברצוננו לקבוע קריטריון המורכב מיותר מתנאי אחד. למשל "כל אזרחי המדינה שהם גברים וגם מעל לגיל 18". או "כל המוצרים בטבלת המוצרים שמחירם 150 או שהם לא פעילים". במקרה זה נשרשר את התנאים לאחר ה - WHERE באופן הבא:

SELECT * FROM Products WHERE Price = 100 or Status = 'לא פעיל'


להלן טבלת האופרטורים הנפוצים שבאמצעותם ניתן ליצור ריבוי תנאים במשפטי WHERE:

אופרטור הסבר
AND יוצר בין שני תנאים יחס של גם וגם. גם מחיר = 100 וגם סטטוס = 'לא פעיל'.
OR יוצר יחס של או בין שני תנאים. או שהמחיר הוא מאה או שהסטטוס הוא 'לא פעיל''.
XOR יוצר יחס של או בין שני תנאים אבל שני התנאים גם יחד אינם יכולים להתקיים.

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