عبارت CASE

از ویکی‌کد
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Sql-menu.png
موارد آموزشی
۱خانه
۲مقدمه
۳دستور زبان
۴عبارت SELECT
۵عبارت SELECT DISTINCT
۶شرط WHERE
۷عملگرهای AND, OR, NOT
۸کلمهٔ کلیدی ORDER BY
۹عبارت INSERT INTO
۱۰مقدارهای NULL
۱۱عبارت UPDATE
۱۲عبارت DELETE
۱۳عبارت‌های TOP ،LIMIT یا ROWNUM
۱۴توابع MIN و MAX
۱۵توابع COUNT ،AVG و SUM
۱۶عملگر LIKE
۱۷کاراکترهای Wildcard
۱۸عملگر IN
۱۹عملگر BETWEEN
۲۰نام‌های مستعار (Aliases)
۲۱متصل کردن (Join)
۲۲کلمهٔ کلیدی INNER JOIN
۲۳کلمهٔ کلیدی LEFT JOIN
۲۴کلمهٔ کلیدی RIGHT JOIN
۲۵کلمهٔ کلیدی FULL OUTER JOIN
۲۶دستور Self JOIN
۲۷عملگر UNION
۲۸عبارت GROUP BY
۲۹عبارت HAVING
۳۰عملگر EXISTS
۳۱عملگرهای ANY و ALL
۳۲عبارت SELECT INTO
۳۳عبارت INSERT INTO SELECT
۳۴عبارت CASE
۳۵توابع NULL
۳۶Stored Procedure
۳۷یادداشت‌ها
بانک اطلاعاتی
مرجع
مثال‌ها

عبارت CASE در SQL

عبارت CASE در بین شرط‌ها می‌چرخد و هنگامی که اولین شرط برآورده شود، مقداری را برمی‌گرداند (مانند عبارت IF-THEN-ELSE). بنابراین، به محض اینکه شرط true شود، خواندن را متوقف کرده و نتایج را برمی‌گرداند. اگر هیچ true نشد، مقدار مشخص شده در عبارت ELSE را برمی‌گرداند.[۱]

اگر ELSE وجود نداشت و هیچ شرطی true نشد، NULL برمی‌گرداند.

نحو CASE

1 CASE
2     WHEN condition1 THEN result1
3     WHEN condition2 THEN result2
4     WHEN conditionN THEN resultN
5     ELSE result
6 END;

نسخه نمایشی بانک اطلاعاتی

در ادامه انتخابی از جدول “OrderDetails” در بانک اطلاعاتی نمونه Northwind آمده‌است:

OrderDetailID OrderID ProductID Quantity
1 10248 11 12
2 10248 42 10
3 10248 72 5
4 10249 14 9
5 10249 51 40

مثال‌های SQL CASE

عبارت SQL زیر در میان شرط‌ها می‌گردد و هنگامی که اولین شرط برآورده شود، مقداری را برمی‌گرداند:

مثال
1 SELECT OrderID, Quantity,
2 CASE
3     WHEN Quantity > 30 THEN 'The quantity is greater than 30'
4     WHEN Quantity = 30 THEN 'The quantity is 30'
5     ELSE 'The quantity is under 30'
6 END AS QuantityText
7 FROM OrderDetails;

عبارت SQL زیر مشتریان را براساس City مرتب می‌کند. با این حال، اگر City NULL باشد، براساس Country مرتب می‌کند:

مثال
1 SELECT CustomerName, City, Country
2 FROM Customers
3 ORDER BY
4 (CASE
5     WHEN City IS NULL THEN Country
6     ELSE City
7 END);



منابع آموزشی