Pernyataan SQL CASE
Statement CASE digunakan untuk melewati kondisi dan mengembalikan nilai saat kondisi pertama terpenuhi (seperti pernyataan IF-THEN-ELSE). Jadi, begitu suatu kondisi benar, itu akan berhenti membaca dan mengembalikan hasilnya. Jika tidak ada kondisi yang benar, ini mengembalikan nilai dalam klausa ELSE.
Jika tidak ada bagian ELSE dan tidak ada kondisi yang benar, maka akan mengembalikan NULL.
Syntax CASE
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 WHEN conditionN THEN resultN ELSE result END;
Contoh Database
Di bawah ini adalah pilihan dari tabel “OrderDetails” di database contoh Northwind:
IdOrderDetail | IdOrder | IdProduct | Quantity |
---|---|---|---|
1 | 10248 | 11 | 12 |
2 | 10248 | 42 | 10 |
3 | 10248 | 72 | 5 |
4 | 10249 | 14 | 9 |
5 | 10249 | 51 | 40 |
Contoh SQL CASE
SQL berikut ini akan melewati kondisi dan mengembalikan nilai saat kondisi pertama terpenuhi:
Contoh
SELECT IdOrder, Quantity, CASE WHEN Quantity > 30 THEN 'Quantitynya lebih besar dari 30' WHEN Quantity = 30 THEN 'Quantitynya 30' ELSE 'Quantitynya kurang dari 30' END AS QuantityText FROM OrderDetails;
SQL berikut akan mengurutkan pelanggan berdasarkan Kota. Namun, jika Kota adalah NULL, maka urutkan berdasarkan Negara:
Contoh
SELECT NamaCustomer, Kota, Negara FROM Customers ORDER BY (CASE WHEN Kota IS NULL THEN Negara ELSE Kota END);