データベース
基本情報技術者試験|SQLで `SELECT 名前 FROM 社員 WHERE 部署ID IN (SELECT 部署ID FROM…
SQLで `SELECT 名前 FROM 社員 WHERE 部署ID IN (SELECT 部署ID FROM 部署 WHERE 所在地='東京')` を実行した。この問合せが返す結果として正しいものはどれか。
ア所在地が東京以外の部署に属する社員の名前
イ所在地が東京の部署に属する社員の名前
ウ全社員の名前を部署にかかわらず返す
エ部署表の所在地が東京の行の所在地名
正解
イ.所在地が東京の部署に属する社員の名前
内側の副問合せは所在地が東京の部署の部署ID集合を返す。外側はその集合にIN(含まれる)する部署IDを持つ社員の名前を返すので、東京の部署に属する社員の名前が得られ正しい。
?選択肢ごとの解説
ア ×東京以外の部署に属する社員はNOT INを使った場合の結果であり、INは集合に含まれる側を返すため逆である。
イ ○内側の副問合せは所在地が東京の部署の部署ID集合を返す。外側はその集合にIN(含まれる)する部署IDを持つ社員の名前を返すので、東京の部署に属する社員の名前が得られ正しい。
ウ ×全社員を返すのはWHERE条件を無視した場合であり、IN句で部署IDが東京の集合に絞られるため誤りである。
エ ×所在地名を返すのは内側の副問合せだけを単独実行した場合に近く、外側のSELECTは社員の名前を返すため誤りである。
データベースの他の問題
SQLの `UPDATE 商品 SET 価格 = 価格 * 1.1 WHERE 分類 = '食品'`…SQLのデータ制御言語(DCL)に関する説明として最も適切なものはどれか。関係データベースのビュー(view)に関する説明として最も適切なものはどれか。分散データベースで複数サイトにまたがるトランザクションの一貫性を保つ2相コミットの第1相(準備相)で行われることはどれか。更新競合がまれな環境で、データ取得時にはロックをかけず、更新時にバージョン番号などで他者の更新有無を検査して競合を検出する同…あるトランザクションが同一の検索条件で2回問合せを行ったところ、1回目には存在しなかった行が2回目に出現した。他トランザクシ…NoSQLデータベースのうち、ノードとそれらを結ぶ関係(エッジ)でデータを表現し、相互のつながりをたどる処理に適したものはど…全社の販売・在庫データを長期間蓄積した基盤から、営業部門の分析用途だけに必要なデータを切り出して構築したものを何と呼ぶか。
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。
基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。
登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。
作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-a3-0245
