メインコンテンツへ
データベース

以下のSQLのCASE式で、score=70の生徒に返される値はどれか。 SELECT CASE WHEN score >= 80 THEN 'A' WHEN score >= 60 THEN ___ ELSE 'C' END FROM 成績

ア.'A'
イ.'C'
ウ.'B'正解
エ.NULL

解説

CASE式は「条件分岐の信号機」。上から順に評価し、最初に合致した条件のTHENが実行される。

なぜ ウ が正解か

score=70はscore >= 80を満たさない。score >= 60は満たす(70≥60)。したがってWHEN score >= 60 THEN の値が返される。空欄に入る値は'B'。score=70の生徒はBランクになる。

なぜ ア は間違いか

'A'はscore >= 80の場合。70<80なので該当しない。

なぜ イ は間違いか

'C'はELSEの値。70はscore >= 60を満たすのでELSEには到達しない。

なぜ エ は間違いか

NULLはTHENに値がない場合だが、この設問では空欄に'B'が入るとわかる。

出典: AI生成問題(学習用)