در SQL، برای فیلتر کردن دادهها و انتخاب فقط رکوردهایی که شرایط خاصی را برآورده میکنند، از عبارت WHERE
استفاده میشود. این بخش به شما این امکان را میدهد که دادهها را بر اساس مقادیر خاص در ستونها یا ترکیب شرایط مختلف فیلتر کنید.
ساختار کلی عبارت WHERE:
FROM جدول
WHERE شرایط;
عملگرهای رایج در WHERE:
-
عملگرهای مقایسهای:
=
: برابر بودن<>
یا!=
: نابرابر بودن>
: بزرگتر بودن<
: کوچکتر بودن>=
: بزرگتر یا برابر بودن<=
: کوچکتر یا برابر بودن- مثال:
WHERE سن > 18
-
عملگرهای منطقی:
AND
: وقتی که باید چند شرط همزمان برقرار باشد.OR
: وقتی که حداقل یکی از شرایط باید برقرار باشد.NOT
: برای معکوس کردن شرط.- مثال:
WHERE سن > 18 AND شهر = 'تهران'
-
عملگرهای ویژه:
BETWEEN
: برای فیلتر کردن دادهها در بازهای مشخص.IN
: برای فیلتر کردن دادهها بر اساس یک مجموعه از مقادیر.LIKE
: برای جستجو در رشتهها با استفاده از الگوها.IS NULL
: برای بررسی اینکه مقدار یک ستون NULL است یا نه.
مثالهای عملی برای استفاده از WHERE:
-
فیلتر کردن بر اساس یک مقدار خاص: انتخاب تمام کاربرانی که سن آنها بیشتر از 18 است:
SELECT * FROM کاربران WHERE سن > 18; -
فیلتر کردن با چند شرط با AND: انتخاب کاربرانی که سن آنها بیشتر از 18 سال و شهر آنها "تهران" است:
SELECT * FROM کاربران WHERE سن > 18 AND شهر = 'تهران'; -
فیلتر کردن با OR: انتخاب کاربرانی که یا سن آنها بیشتر از 18 سال است یا شهر آنها "شیراز" است:
SELECT * FROM کاربران WHERE سن > 18 OR شهر = 'شیراز'; -
استفاده از BETWEEN برای بازهای از مقادیر: انتخاب کاربرانی که سن آنها بین 20 و 30 سال است:
SELECT * FROM کاربران WHERE سن BETWEEN 20 AND 30; -
استفاده از IN برای انتخاب مقادیر خاص: انتخاب کاربرانی که در شهرهای "تهران" یا "شیراز" زندگی میکنند:
SELECT * FROM کاربران WHERE شهر IN ('تهران', 'شیراز'); -
استفاده از LIKE برای جستجو در رشتهها: انتخاب کاربرانی که نام آنها با حرف "آ" شروع میشود:
SELECT * FROM کاربران WHERE نام LIKE 'آ%'; -
بررسی NULL بودن مقادیر: انتخاب کاربرانی که اطلاعات ایمیل آنها وارد نشده است:
SELECT * FROM کاربران WHERE ایمیل IS NULL;
نکات:
- حساسیت به حروف: در SQL، برخی سیستمهای پایگاه داده مانند MySQL حساس به حروف در عبارتهای
LIKE
نیستند، در حالی که در دیگر سیستمها مانند PostgreSQL ممکن است حساس باشند. - ترکیب شرطها: میتوانید با ترکیب
AND
،OR
وNOT
شرایط پیچیدهتری ایجاد کنید تا دقیقتر دادهها را فیلتر کنید.
استفاده از عبارت WHERE
به شما این امکان را میدهد که دقیقاً همان دادههایی را که نیاز دارید از پایگاه داده بازیابی کنید.
