SQL WHERE Clause
WHERE
برای فیلتر کردن ردیفها در پرسوجو استفاده میشود.
با این عبارت میتوانید شرطهای مختلف بگذارید تا فقط رکوردهای دلخواه از جدول برگردانده شوند.
🟢 ساختار کلی
-
condition
میتواند شامل عملگرهای مقایسهای، منطقی و حتی توابع باشد.
🟡 عملگرهای رایج در شرط
عملگر | توضیح | نمونه |
---|---|---|
= | مساوی | age = 30 |
<> یا != | نابرابر | city <> 'Tehran' |
> | بزرگتر | age > 18 |
< | کوچکتر | price < 1000 |
>= | بزرگتر یا مساوی | salary >= 5000 |
<= | کوچکتر یا مساوی | score <= 80 |
BETWEEN … AND … | بازه | age BETWEEN 18 AND 30 |
IN (…) | تطابق با لیست | city IN ('Tehran','Shiraz') |
LIKE | الگو | name LIKE 'A%' |
IS NULL | مقدار تهی | email IS NULL |
🟠 مثالهای متداول
1️⃣ شرط ساده
کاربران با سن ۱۸ یا بالاتر.
2️⃣ چند شرط با AND/OR
هم شهر تهران و سن کمتر از ۳۰.
تهران یا شیراز.
3️⃣ بین دو مقدار
مبلغ بین ۱۰۰ تا ۵۰۰.
4️⃣ جستجوی الگو
نامی که با A شروع شود.
الگوها:
-
%
= هر تعداد کاراکتر -
_
= یک کاراکتر
5️⃣ مقدار NULL
ردیفهایی که ایمیل ثبت نشده دارند.
🟣 ترکیب با مرتبسازی و محدودسازی
۱۰ کاربر اول شهر مشهد به ترتیب سن نزولی.
💡 نکات مهم
-
ترتیب اجرا: ابتدا
WHERE
فیلتر میکند، سپسGROUP BY
و بعدORDER BY
. -
در شرطهای متنی از کوتیشن
' '
استفاده کنید. -
برای مقایسه رشتهها در برخی DBها حساسیت به حروف (Case) ممکن است فعال یا غیرفعال باشد.
✅ جمعبندی
-
WHERE
رکوردها را قبل از نمایش فیلتر میکند. -
میتوانید از عملگرهای مقایسهای (
=
,>
,BETWEEN
)، منطقی (AND
,OR
,NOT
) و الگویی (LIKE
) استفاده کنید. -
بهترین روش برای واکشی فقط دادههای موردنیاز از جداول است.