همانطور که در درس قبلی خواندید، دستور WHERE یک دستور شرطی است، شما میتوانید با استفاده از دستورات AND، OR و NOT یک ترکیب جدید در شرط ایجاد کنید که در این قسمت به طور کامل آن را بررسی میکنیم.
دستور AND
فرم کلی دستور AND بهصورت زیر است:
SELECT column1, column2, …
FROM table_name
WHERE condition1 AND condition2 AND condition3 … ;
در دستور بالا با استفاده از SELECT، نام ستونها را انتخاب میکنیم و در قسمت WHERE باید شرط خود را با استفاده از AND وارد کنید، منظور از AND این است که یک شرط حتماً باید این چند مورد که با AND تعریف میشود را داشته باشد.
مثال اول – AND
SELECT * FROM Customers
WHERE Country=’Iran’ AND City=’Tehran’;
در دستور بالا، خروجی اطلاعات جدول Customers در خط اول نمایش داده خواهد شد، اما در خط دوم شرطی قرار داده که حتماً باید نام Country و City به ترتیب برابر Farshid و Tehran باشد، اگر به شکل 3-29 توجه کنید خروجی بهدرستی نمایشداده شده است.
شکل 29-3 بررسی دستور WHERE
توجه داشته باشید که تمام مثالهای این فصل از جدول 1-3 برداشته شده است و دقیقاً طبق همان جدول عمل کنید.
مثال دوم- دستور OR
SELECT * FROM Customers
WHERE Country=’Iran’ OR City=’Shiraz’;
برای دستور OR نیز همان مثال قبلی را اجرا میکنیم با این تفاوت که شهر را به شیراز تغییر میدهیم، دستور OR به این نکته اشاره دارد که اگر یکی از این شرایط درست باشد، پس شرط درست است و خروجی آن سطر باید نمایش داده شود که در شکل 30-3 این موضوع را مشاهده میکنید؛ با اینکه شهر Shiraz در دستور وارد شده، چون یکی از شرطها، یعنی Iran درست بوده، خروجی نمایش داده شده است.
شکل 30-3 بررسی دستور WHERE
مثال سوم دستور NOT
این دستور، یعنی منفی کردن شرط، یعنی اینکه اگر NOT قبل از آن قرار دهیم، یعنی اینکه آن کلید نباید در خروجی باشد.
SELECT * FROM Customers
WHERE NOT Country=’Iran’;
در دستور بالا، اگر کشور Iran در یکی از سطرها باشد آن سطر در خروجی نمایش داده نخواهد شد که این موضوع را در شکل 31-3 مشاهده میکنید.
شکل 31-3 بررسی دستور WHERE
مثال چهارم- ترکیب سه دستور AND, OR, NOT
برای اینکه درک کاملتری از این سه دستور داشته باشیم، میخواهیم یک مثال کلی برای این سه دستور بزنیم.
SELECT * FROM Customers
WHERE Country=’Germany’ AND (City=’Berlin’ OR City=’Frankfurt’) ;
در دستور بالا، کشور مورد نظر Germany در نظر گرفته شده است، اما در شرطی که در داخل پرانتز قرار داده شده، گفته که یکی از شهرها میتواند Berlin و یا Frankfurt باشد که چون شهر Frunkfurt در جدول وجود داشت به این دلیل شرط، درست و بهمانند شکل 32-3 در خروجی نمایش داده شده است.
شکل 32-3 بررسی WHERE
اگر بخواهیم مثالی از NOT بزنیم میتوانیم از دستور زیر استفاده کنیم:
SELECT * FROM Customers
WHERE NOT Country=’Germany’ AND NOT Country=’USA’;
در این دستور، اگر کشور مورد نظر آمریکا و آلمان نباشد باید لیست نهایی در خروجی چاپ شود که این موضوع را در شکل 52-3 مشاهده میکنید.
شکل 33-3 بررسی دستور WHERE