SQL CASE Expression
در SQL از CASE Expression برای ایجاد شرطهای شرطی در داخل کوئری استفاده میکنیم، شبیه به دستور if-else
در زبانهای برنامهنویسی.
🔹 ساختار کلی
-
CASE
→ شروع شرطها -
WHEN … THEN …
→ شرط و نتیجه -
ELSE
→ نتیجه پیشفرض (اختیاری) -
END
→ پایان CASE و میتوانیم یک Alias برای ستون شرطی تعریف کنیم
🔹 مثال ساده
جدول: Orders
order_id | customer_id | amount |
---|---|---|
1 | 1 | 500 |
2 | 2 | 300 |
3 | 3 | 200 |
کوئری:
📌 خروجی:
order_id | amount | order_category |
---|---|---|
1 | 500 | High |
2 | 300 | Medium |
3 | 200 | Medium |
🔹 مثال با مقایسه ستون دیگر
📌 بررسی میکنه که مبلغ سفارش بالاتر یا پایینتر از میانگین کل سفارشهاست.
🔹 نکات مهم
-
میتوانیم چندین
WHEN … THEN …
داشته باشیم. -
ELSE
اختیاریه، اگر ننویسیم و شرطی برقرار نشه → نتیجهNULL
خواهد بود. -
CASE
میتونه درSELECT
,WHERE
,ORDER BY
وGROUP BY
استفاده بشه.