آموزش SQL - شرط WHERE در عبارات SQL

این شرط برای فیلتر کردن رکورد ها استفاده می شود. زمانی از WHERE استفاده می کنیم که می خواهیم فقط آن رکورد هایی که دارای حالتی خاص هستند استخراج شوند.

برای مثال تمام دانشجویان بالای 20 سال را پیدا کنیم. یا تمام دانشجویانی که در رشته IT در حال تحصیل هستند را بیابیم.

 

بیشتر بدانیم: آموزش دستور SELECT در SQL

 

سینتکس WHERE در SQL

نحوه نوشتن WHERE در یک عبارت SQL و استفاده از این دستور شرطی به صورت زیر می باشد.

 

SELECT column1, column2, ...
      FROM table_name 
          WHERE condition;

 

از شرط WHERE فقط در SELECT استفاده نمی شود. بلکه در عبارات DELETE ، UPDATE و سایر عبارات یک امر ضروری می باشد. در اکثر کوئری هایی که خواهیم زد از این شرط استفاده می کنیم و یکی از  کلیدواژه های مهم در SQL محسوب می شود

 

مثالی از WHERE در SQL

جدول زیر که Students نام دارد را در نظر می گیریم.

 

Age City Field Name ID
25 Tehran IT Mehran 1
19 Mashhad SW Mahan 2
21 Shiraz HW Zahra 3
20 Esfehan IT Maryam 4

با در نظر گرفتن ستون Field برای رشته تحصیلی دانشجویان و همینطور SW برای رشته نرم افزار، HW برای رشته سخت افزار و IT برای رشته فناوری کامپیوتر، می خواهیم لیست تمامی دانشجویانی که در رشته IT تحصیل می کنند را بیابیم. عبارت SQL زیر لیست تمام داشنجویانی که مقدار Field آنها برابر با IT باشد را بر میگرداند

 

SELECT * FROM Students WHERE Field = 'IT';

 

با اجرای این دستور سطر هایی که ID آن ها برابر با 1 و 4 می باشد برگردانده خواهد شد.

همانطور که می دانید عبارات شرطی در برنامه نویسی حالت های مختلفی را برای ما محیا می کند. AND یا OR و سایر عملگر ها در WHERE نیز قابل استفاده است.

ابتدا لیست این عملگر ها در SQL را بررسی می کنیم و در ادامه با ذکر مثال هایی، به درک بهتری از عملگر ها در عباراتی که از WHERE استفاده می شود برسیم.

 

بیشتر بدانیم: عملگر ها در PHP

 

عملگر ها در شرط WHERE

عملگر های زیر می توانند در شرط WHERE قرار گیرند

بزرگتر یا مساوی <=
کوچکتر مساوی >=
مابین یک محدوده BETWEEN
جستجوی یک الگو (pattern) LIKE
برای مشخص کردن چند مقدار امکان پذیر برای یک ستون IN
مساوی =
نابرابری (در بعضی از ورژن های SQL می تواند به صورت != نوشت) <>
بزرگتر از >
کوچکتر از <

 

عملگر های BETWEEN ، LIKE و ‌IN در قسمت های آینده مفصلا توضیح داده خواهند شد و تقریبا کار نوشتن سایر عملگر ها را راحت تر میکند.

اما مثالی برای سایر عملگر ها را بررسی میکنیم.

در جدول Students اگر بخواهیم لیست دانش آموزان با رشته های تحصیلی IT و SW را به دست بیاوریم با استفاده از شرط WHERE و OR می توانیم این کار را انجام دهیم. عبارت زیر را در نظر بگیرید

 

Age City Field Name ID
25 Tehran IT Mehran 1
19 Mashhad SW Mahan 2
21 Shiraz HW Zahra 3
20 Esfehan IT Maryam 4

 

SELECT * FROM Students WHERE Field = 'IT' OR Field = 'SW';

 

در کد بالا ما مقدار SW و IT در ستون Field را با استفاده از شرط WHERE و OR به هم وصل کردیم. در واقع به صورت متنی میشود گفت جاهایی که مقدار ستون Field برابر با IT و یا مقدار ستون Field برابر با SW است.

حالا دستور بالا را میتوان به صورت خلاصه تر با استفاده از IN به صورت زیر بازنویسی کرد که عملکرد یکسان با عبارت بالا دارد

 

SELECT * FROM Students WHERE Field IN ('IT', 'SW');

 

بیشتر بدانیم: عملگرها در جاوا

 

حالا می خواهیم لیست دانشجویانی که در رشته IT فعالیت می کنند و سن آن ها بالای 22 سال است را به دست آوریم. بنابراین باید از شرط WHERE و ترکیبی از ‌AND و OR استفاده کنیم.

 

SELECT * FROM Students WHERE Field = 'IT' AND Age > 22;

 

اگر به صورت متنی بخواهیم عبارت بالا را توضیح دهیم دانشجویانی که مقدار ستون Field آنها برابر با IT و مقدار ستون Age آنها بزرگتر از 22 باشد.

 

حالا مثالی برای برگرداندن لیست دانشجویانی که سن آن ها مابین 20 تا 25 باشند به صورت زیر است.

 

SELECT * FROM Students WHERE Age >= 20 AND Age <= 25;

 

 این عبارت لیست تمامی دانشجویان از تمامی رشته ها که سن آنها 20 تا 25 سال است را استخراج می کند. حالا دستور بالا را می تواند با استفاده از عملگر BETWEEN به صورت خلاصه تر بازنویسی کرد که عملکردی یکسان با عبارت بالا خواهد داشت.

 

SELECT * FROM Students WHERE Age BETWEEN 20 AND 25;

 

سعی کردیم با ذکر مثال هایی ساده و روان مفهوم و کاربرد شرط WHERE در SQL را بیان کنیم. این دستور شرطی پرکاربرد با استفاده از ترکیبی از AND ها و OR ها باعث می شود تا خروجی یک کوئری فیلتر شود.

همچنین دستور WHERE برای کوئری های UPDATE و DELETE یک امر ضروری می باشد چون در صورت عدم استفاده از WHERE کل سطر های جدول حذف یا آپدیت خواهد شد.

همچنین در ادامه و قسمت های بعدی آموزش SQL به بررسی UPDATE و DELETE خواهیم پرداخت.

 

با اشتراک گذاری مطالب وب سایت در صفحه های مجازی مارا به دوستان خود معرفی کنید. همچنین لینک it3du در شبکه های مجازی را از قسمت پایین سایت می توانید پیدا کنید تا از به روزرسانی سایت با خبر شوید.

 

منابع استفاده شده برای گردآوری این مقاله از سایت it3du و لینک های زیر می باشد:

W3schools