MySQL VAKA Beyanı
MySQL CASE Beyanı
İfade CASE
, koşullardan geçer ve ilk koşul karşılandığında bir değer döndürür (if-then-else ifadesi gibi). Bu nedenle, bir koşul doğru olduğunda, okumayı durduracak ve sonucu döndürecektir. Hiçbir koşul doğru değilse, ELSE
yan tümcedeki değeri döndürür.
Parça yoksa ELSE
ve hiçbir koşul doğru değilse, NULL döndürür.
CASE Sözdizimi
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN
conditionN THEN resultN
ELSE result
END;
Demo Veritabanı
Northwind örnek veritabanındaki "OrderDetails" tablosundan bir seçim aşağıdadır:
OrderDetailID | OrderID | ProductID | Quantity |
---|---|---|---|
1 | 10248 | 11 | 12 |
2 | 10248 | 42 | 10 |
3 | 10248 | 72 | 5 |
4 | 10249 | 14 | 9 |
5 | 10249 | 51 | 40 |
MySQL VAKA Örnekleri
Aşağıdaki SQL, koşullardan geçer ve ilk koşul karşılandığında bir değer döndürür:
Örnek
SELECT OrderID, Quantity,
CASE
WHEN Quantity > 30
THEN 'The quantity is greater than 30'
WHEN Quantity = 30 THEN 'The
quantity is 30'
ELSE 'The quantity is under 30'
END AS QuantityText
FROM OrderDetails;
Aşağıdaki SQL, müşterileri Şehir bazında sıralayacaktır. Ancak, Şehir NULL ise Ülkeye göre sıralayın:
Örnek
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);