استفاده از عبارت WHERE در SQL
این دستور یا بهتر بگوییم عبارت موجود در زبان SQL در واقع بخشی از همان دستور SELECT است. برای بررسی بهتر عبارت WHERE در SQL ساختار کلی آن را در ادامه آوردهایم:
SELECT select_list FROM table_name WHERE condition;
همانطور که مشاهده میکنید، در قسمت condition و بعد از عبارت FROM از عبارت WHERE در SQL استفاده میشود. البته این عبارت را با سایر دستورهای SQL مانند UPDATE هم میتوان استفاده کرد. در هر صورت به کمک این عبارت شما برای کوئری خود شرط تعیین میکنید. یعنی فقط سطرها و ستون هایی از جدول مربوطه به شما نمایش داده میشوند که شرط موردنظر را برآورده میکنند. در ادامه با ذکر مثال سعی میکنیم این مسئله را بهتر برای شما روشن کنیم.
مثال استفاده از عبارت WHERE
در این مثال جدولی فرضی از مشتریان داریم که آن را customers نام نهادهایم. تصویر این جدول را در شکل زیر مشاهده میکنید.
البته تعداد سطرهای این جدول بسیار بیشتر از این مقدار است و ما صرفا چند سطر اول آن را نمایش دادهایم. برای بررسی بهتر عبارت WHERE دستور زیر را بر روی جدول فوق پیاده میکنیم:
SELECT * FROM Customers
WHERE Country='Mexico';
این دستور نحوه استفاده از عبارت WHERE در SQL را نشان میدهد. با اجرای این دستور، تمامی مشتریانی که کشور آنها مکزیک است، از جدول استخراج میشوند.
استفاده از عملگرها در عبارت WHERE
برای حالتی که شما بخواهید چندین شرط را بر روی جدول خود پیاده کنید، باید از عملگرها در SQL کمک بگیرید. مثلا فرض کنید در مثال قبل بخواهید علاوه بر اینکه کشور مشتری موردنظر مکزیک باشد، نام وی نیز حاوی دو حرف a و n (بدون توجه به بزرگ یا کوچک بودن حروف) پشت سر هم باشد. یعنی an در نام وی وجود داشته باشد. برای این منظور از عملگر AND در SQL کمک گرفته میشود. یعنی دستور ما به این شکل خواهد بود:
SELECT * FROM Customers
WHERE Country='Mexico' AND CustomerName LIKE '%An%';
در این حالت خروجی ما محدودتر شده و به شکل زیر خواهد بود.
بله درست حدس زدهاید. استفاده از عملگر AND به معنای آن است که هر دو شرط موردنظر باید برقرار باشند. در SQL عملگرهای دیگری نیز وجود دارند. مثلا عملگر OR یکی از آنها است. در ادامه نحوه استفاده از عبارت WHERE در SQL به همراه عملگر OR را برای همان مثال قبل آوردهایم:
SELECT * FROM Customers
WHERE Country='Mexico' OR CustomerName LIKE '%An%';
در اینجا در ساختار کد و کوئری ما تنها یک تغییر کوچک رخ داده است. یعنی عملگر AND با OR جایگزین شده است. اما در خروجی کار نتیجه فرق میکند و تغییرات زیادی را شاهد خواهیم بود.
به تعداد سطرهای برگرداندهشده در این حالت توجه کنید! حدود 25 سطر از جدول ما هستند که شامل مشتریانی میشوند که یا کشور آنها مکزیک است یا an در نام آنها وجود دارد. در حالی که در مثال قبل تعداد سطرهای خروجی دستور ما تنها 3 عدد بود.
مشاهده میکنید که به کمک عبارت WHERE و همچنین استفاده از عملگرها میتوانید انواع مختلفی از دادههای موردنظر خود را از جداول استخراج کنید. البته هدف ما در این مقاله توضیح انواع عملگرها نیست. بلکه صرفا میخواهیم نحوه کار با عبارت WHERE در SQL برای شما روشن شود.
جمعبندی
در این مقاله به بررسی عبارت WHERE در SQL پرداختیم. این عبارت در MySQL معمولاً در کنار سایر دستورها مانند SELECT به کار میرود. نقش آن تعیین یک سری شروط و قیود است که به کمک آنها شما میتوانید محدوده دادههایی را که ویژگی موردنظر شما را دارند، مشخص کنید. در واقع SQL زبان کار با پایگاه داده است. اما برای ساخت وبسایت و طراحی وب به زبانهای دیگری نیز نیاز دارید. اگر میخواهید مجموعه تکنولوژیهای وبی را که به کمک آنها میتوانید یک وبسایت کامل بسازید، در کنار یکدیگر یاد بگیرید، خواندن کتاب یادگیری PHP، MySQL و JavaScript را به شما توصیه میکنیم.