値が Null の場合の SQL Case ステートメント

Zhiga Null No Chang Heno Sql Case Sutetomento



条件付き実行とは、特定の条件が満たされた場合にのみコードのブロックを実行する機能を指します。これは開発において広く普及している操作です。たとえば、SQL で条件付き実行を実現する最も一般的な方法は、CASE ステートメントを使用することです。

CASE ステートメントを使用すると、テーブル内の 1 つ以上の列の値をチェックし、そのチェック結果に基づいて特定のコード ブロックを実行することにより、条件付きロジックを実行できます。







このチュートリアルでは、指定された値が NULL の場合に CASE ステートメントを使用する方法を説明します。



SQL Case ステートメント

SQL の CASE ステートメントの構文を次に示します。



CASE式
WHEN 値_1 THEN 結果_1
WHEN 値_2 THEN 結果_2
...
ELSE デフォルト結果
終わり


次の例を考えてみましょう。





テーブルの生徒を作成する (
ID int auto_increment が null でない主キー、
名前 varchar ( 50 )
science_score int null ではない、
math_score int が null ではない、
History_score int が null ではない、
他の int は null ではありません
) ;
生徒に挿入 ( 名前、科学スコア、数学スコア、歴史スコア、その他 )
価値観
( 'ジョン・ドウ' 80 70 90 85 )
( 「ジェーン・スミス」 95 85 80 92 )
( 「トム・ウィルソン」 70 75 85 80 )
( 「サラ・リー」 88 92 90 85 )
( 「マイク・ジョンソン」 75 80 72 68 )
( 「エミリー・チェン」 92 88 90 95 )
( 'クリス・ブラウン' 85 80 90 88 )
( 「リサ・キム」 90 85 87 92 )
( 「マーク・デイビス」 72 68 75 80 )
( 「エヴァ・リー」 90 95 92 88 ) ;


たとえば、次の例に示すように、CASE ステートメントを使用してさまざまなオプションを評価し、特定のアクションを返すことができます。

選択する
名前、
科学スコア、
数学スコア、
履歴スコア、
他の、
場合
いつ ( 科学スコア + 数学スコア + 歴史スコア + その他 ) / 4 > = 90 それから 「あ」
いつ ( 科学スコア + 数学スコア + 歴史スコア + その他 ) / 4 > = 80 それから 「B」
いつ ( 科学スコア + 数学スコア + 歴史スコア + その他 ) / 4 > = 70 それから 「C」
いつ ( 科学スコア + 数学スコア + 歴史スコア + その他 ) / 4 > = 60 それから 「D」
それ以外 「ふ」
として終了 '学年'
学生から;


結果の出力:



値が Null の場合の SQL Case ステートメント

NULL 値を扱う場合は、CASE ステートメントを使用してコード ブロックを実行できます。さらに、IS NULL 演算子と IS NOT Null 演算子を使用して NULL 値を評価し、戻り値に基づいて特定のアクションを実行できます。

次の構文の例を考えてみましょう。

選択する
場合
column_name が NULL の場合 「値がnullです」
それ以外 「値はnullではありません」
結果として終了
FROM テーブル名;


この場合、指定された column_name の値が null かどうかを確認します。 true の場合、「値は null です」を返します。弦。それ以外の場合、値が null でない場合は、「値は null ではありません」を返します。弦。

また、AS キーワードを結果文字列のエイリアスとして使用します。

次のテーブルの例を考えてみましょう。

生徒に挿入 ( 名前、science_score、math_score、history_score、その他、temp )
価値観
( 'ジョン・ドウ' 80 70 90 85 、 ヌル )
( 「ジェーン・スミス」 95 85 80 92 、 ヌル )
( 「トム・ウィルソン」 70 75 85 80 「て」 )
( 「サラ・リー」 88 92 90 85 「さん」 )
( 「マイク・ジョンソン」 75 80 72 68 、 ヌル )
( 「エミリー・チェン」 92 88 90 95 、 ヌル )
( 'クリス・ブラウン' 85 80 90 88 'ヌル' )
( 「リサ・キム」 90 85 87 92 )
( 「マーク・デイビス」 72 68 75 80 、 ヌル )
( 「エヴァ・リー」 90 95 92 88 「あ」 ) ;


その後、CASE ステートメントを使用して、NULL 値に対する特定のメッセージを出力できます。

選択する 名前、温度、
場合
温度が NULL の場合 「値がnullです」
それ以外 「値はnullではありません」
結果として終了
学生から;


出力:

結論

SQL CASE ステートメントを使用して特定の条件を評価し、結果の値に基づいて必要なタスクを実行する方法を学びました。