本文へスキップ
Certia
テクノロジ系
春期

基本情報技術者 2014年 春期 問28

28 / 80

“商品”表,“在庫”表に対する次の SQL文の結果と同じ結果が得られる SQL 文は どれか。ここで,下線部は主キーを表す。 SELECT 商品番号 FROM 商品 WHERE商品番号 NOT IN(SELECT 商品番号 FROM 在庫) 商品 商品番号 商品名 単価 倉庫番号 商品番号 在庫数

問題の図

正解と解説

表示する
正解 エ

SELECT 商品番号 FROM 商品 WHERE NOT EXISTS(SELECT 商品番号 FROM 在庫 WHERE 商品。商品番号=在庫商品番号)

元のSQLは『在庫に存在しない商品番号』を求めるもので、NOT INは相関副問合せを使ったNOT EXISTSで書き換えられます。商品の各行について、在庫に同じ商品番号が存在しないものを選ぶ『商品 WHERE NOT EXISTS(SELECT ... FROM 在庫 WHERE 商品.商品番号=在庫.商品番号)』が同じ結果になります。

AI に聞く

AI のボタンを押すと、問題文と解答を入れたプロンプトをコピーしてから各サービスを開きます。入力欄に自動で入らない場合は貼り付けてください。