TECH I.S.

SQL CASE式


SQL CASE式

CASE式は条件を通過し、最初の条件が満たされたときに値を返します(if-hen-else文のようなものです)。つまり、ある条件が真になると、読み取りを中止して結果を返します。条件が真でなければ、ELSE句の値を返します。 ELSE部分がなく、どの条件も真でなければ、NULLを返します。

CASE構文

CASE     WHEN<em>condition1</em>THEN<em>result1</em>     WHEN<em>condition2</em>THEN<em>result2</em>     WHEN<em>conditionN</em>THEN<em>resultN</em>     ELSE<em>result</em> END;

デモデータベース

以下は、Northwindサンプルデータベースの"OrderDetails"テーブルからの選択です。

注文明細ID

オーダーID

製品番号

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

SQL CASEの例

次のSQLは条件を通過し、最初の条件が満たされたときに値を返します。

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;

自分で試してみる(開発準備中) »

次のSQLは、顧客を都市別に並べ替えます。ただし、CityがNULLの場合は、Countryで並べ替えます。

SELECT CustomerName, City, Country FROM Customers ORDER BY (CASE     WHEN City IS NULL THEN Country     ELSE City END);

自分で試してみる(開発準備中)»



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細