عملگر های NOT، AND و OR در عبارت شرطی WHERE در SQL
عبارت شرطی WHERE می تواند ترکیبی از عملگر های AND، OR و یا NOT باشد.
عملگر های OR و AND می تواند برای فیلتر رکورد ها، برای بیش از یک شرط استفاده شود.
برای مثال نمایش تمامی دانشجویان رشته تحصیلی IT که سن آن ها بالای 24 سال می باشد.
- عملگر AND: زمانی مقدار درستی را بر میگرداند که تمامی شرط هایی که با AND جدا شده اند درست باشد.
- عملگر OR: زمانی مقدار درستی را بر میگرداند که فقط یکی از شرط هایی که با AND جدا شده اند درست باشد.
- عملگر NOT: زمانی یک رکورد را نمایش می دهد که مخالف شرط برقرار باشد. در واقع NOT TRUE می شود.
در ادامه به بررسی هر یک از این عملگر ها با ذکر مثال خواهیم پرداخت.
سینتکس OR در SQL
ابتدا یک شبه کد که نشان دهنده ساختار یک عبارت SQL با شرط OR می باشد را بررسی می کنیم.
SELECT * FROM table_name
WHERE condition1 OR condition2 OR condition3 ...
در عبارت بالا تمام سطر هایی که یکی از شروط condition1 یا condition2 یا condition3 در آن ها مقدار درست داشته باشد، برگردانده می شوند.
سینتکس AND در SQL
شبه کدی از ساختار یک دستور SQL با عملگر AND به صورت زیر است.
SELECT * FROM table_name
WHERE condition1 AND condition2 AND condition3 ...
در عبارت بالا تمام سطر هایی که شروط condition1، condition2 و condition3 در آن ها برقرار باشد برگردانده می شود.
سینتکس NOT در SQL
شبه کدی از ساختار یک عبارت SQL با عملگر NOT به صورت زیر است.
SELECT * FROM table_name
WHERE NOT condition1
عبارت بالا سطر هایی را برمی گرداند که عبارت condition1 در آن ها برقرار نباشد.
حالا از هر یک از عملگر ها مثالی ارائه می کنیم. ابتدا جدولی را با محتوای زیر در نظر میگیریم.
نام جدل Students است.
ستون ID شناسه هر دانشجو، Name نام دانشجو، Age سن و Field رشته تحصیلی دانشجو را مشخص می کند.
| Field | Age | Name | ID |
| IT | 23 | Ali | 1 |
| HW | 20 | Reza | 2 |
| SW | 25 | Saman | 3 |
| SW | 24 | Jalal | 4 |
مثالی از عملگر AND در SQL
می خواهیم تمامی دانشجویانی که در رشته IT تحصیل می کنند و سن آن ها کمتر از 25 سال است را بدست بیاوریم.
SELECT * FROM Students
WHERE Field = 'IT' AND Age < 25;
بعد از اجرای این عبارت SQL خروجی به صورت زیر خواهد بود
| Field | Age | Name | ID |
| IT | 23 | Ali | 1 |
مثالی از عملگر OR در SQL
تمامی دانشجویانی که در رشته IT یا SW تحصیل می کنند.
SELECT * FROM Students
WHERE Field = 'IT' OR Field = 'SW';
خروجی این عبارت به صورت زیر می باشد.
| Field | Age | Name | ID |
| IT | 23 | Ali | 1 |
| SW | 25 | Saman | 3 |
| SW | 24 | Jalal | 4 |
مثالی از عملگر NOT در SQL
لیست تمام دانشجویان به جز دانشجویان رشته IT
SELECT * FROM Students
WHERE NOT Field = 'IT';
خروجی به صورت زیر خواهد بود.
| Field | Age | Name | ID |
| HW | 20 | Reza | 2 |
| SW | 25 | Saman | 3 |
| SW | 24 | Jalal | 4 |
ترکیب عملگر های AND، OR و NOT در یک عبارت SQL
شما همچنین می توانید از عملگر های OR، AND و NOT به صورت ترکیبی در شروط عبارات SQL خود استفاده کنید. برای مثال تمام دانشجویانی که سن آن ها کمتر از 25 سال است و رشته تحصیلی آن ها IT یا SW است.
SELECT * FROM Students
WHERE Age < 25 AND (Field = 'IT' OR Field = 'SW');
خروجی به صورت زیر می باشد.
| Field | Age | Name | ID |
| IT | 23 | Ali | 1 |
| SW | 24 | Jalal | 4 |