عملگرهای AND، OR و NOT
ترکیب چند شرط در دستور WHERE با استفاده از عملگرهای منطقی AND، OR و NOT.
عملگرهای منطقی چیست؟
گاهی اوقات نیاز دارید چند شرط را با هم ترکیب کنید. برای این کار از عملگرهای منطقی استفاده میکنیم:
| عملگر | توضیح | مثال |
|---|---|---|
| AND | هر دو شرط باید درست باشند | شرط۱ AND شرط۲ |
| OR | کافی است یکی از شرطها درست باشد | شرط۱ OR شرط۲ |
| NOT | برعکس شرط (نفی) | NOT شرط |
عملگر AND
با AND میتوانید چند شرط را با هم ترکیب کنید. همه شرطها باید درست باشند:
SELECT * FROM students
WHERE city = 'تهران' AND age > 18;
این کوئری فقط دانشآموزانی را برمیگرداند که هم اهل تهران باشند هم سنشان بیشتر از ۱۸ باشد.
عملگر OR
با OR کافی است یکی از شرطها درست باشد:
SELECT * FROM students
WHERE city = 'تهران' OR city = 'مشهد';
این کوئری دانشآموزانی را برمیگرداند که اهل تهران یا مشهد باشند.
عملگر NOT
با NOT میتوانید برعکس یک شرط را اعمال کنید:
SELECT * FROM students
WHERE NOT city = 'تهران';
این کوئری دانشآموزانی را برمیگرداند که اهل تهران نباشند.
ترکیب AND و OR
میتوانید این عملگرها را با هم ترکیب کنید. پرانتز برای اولویتبندی مهم است:
SELECT * FROM students
WHERE (city = 'تهران' OR city = 'اصفهان')
AND age > 18;
این کوئری: دانشآموزانی که اهل تهران یا اصفهان باشند و سنشان بیشتر از ۱۸ باشد.
نکته اولویت: عملگر
AND اولویت بیشتری از OR دارد. برای اطمینان، همیشه از پرانتز استفاده کنید.جدول درستی (Truth Table)
| شرط A | شرط B | A AND B | A OR B | NOT A |
|---|---|---|---|---|
| ✓ درست | ✓ درست | ✓ درست | ✓ درست | ✗ غلط |
| ✓ درست | ✗ غلط | ✗ غلط | ✓ درست | ✗ غلط |
| ✗ غلط | ✓ درست | ✗ غلط | ✓ درست | ✓ درست |
| ✗ غلط | ✗ غلط | ✗ غلط | ✗ غلط | ✓ درست |
این مبحث بخشی از دوره آموزش کامل SQL است.