2025年(令和7年) 春期 情報処理安全確保支援士 午前 問21

“従業員”表に対して、SQL文を実行して得られる結果はどれか。 ここで、実践の下線は主キーを表し、表中のNULLは値が存在しないことを表す。

従業員
従業員コード 上司 従業員名
S001 NULL A
S002 S001 B
S003 S001 C
S004 S003 D
S005 NULL E
S006 S005 F
S007 S006 G

[SQL文]
 SELECT 従業員コード FROM 従業員 X
    WHERE NOT EXISTS
       (SELECT * FROM 従業員 Y WHERE X.従業員コード=Y.上司)

 ア 従業員コード
S001
S003
S005
S006
 イ 従業員コード
S001
S005
 ウ 従業員コード
S002
S004
S007
 エ 従業員コード
S003
S006


答え ウ


解説
SQL文の3行目の「SELECT * FROM 従業員 Y WHERE X.従業員コード=Y.上司」は、従業員Xは他の従業員Yの上司になっているになり、2行目の「WHERE NOT EXISTS」は3行目の従業員Xを除くなので、結果は“誰の上司にもなっていない従業員”になるので、出力されるのは、S002、S004、S007(ウ)になります。


キーワード
・SQL文

キーワードの解説
  • SQL文
    SQL文で出てくる句について説明します。
    • SELECT
      出力するデータを指定します。
    • DISTINCT
      同じ内容の(重複した)データを除きます。
    • FROM
      操作するデータを指定します。
    • AS
      操作するデータの名前を変えます。
    • WHERE
      操作する条件を指定します。
    • GROUP BY
      同じ内容のデータをまとめます。
    • HAVING
      GROUP BYで抽出条件を指定する。
    • COUNT
      個数を数えます。
    • SUM
      集計(加算)します。
    • AVG
      平均値を計算します。

もっと、「SQL文」について調べてみよう。

戻る 一覧へ 次へ