平成25年 秋期 システムアーキテクト 午前II 問21

“社員”表から同姓同名が存在する社員の氏名を抽出するSQL文はどれか。

社員
社員番号 氏名 生年月日 所属
0001 新井 健二 1970-02-04 営業部
0002 鈴木 太郎 1075-03-13 総務部
0003 佐藤 宏 1981-07-11 技術部
0004 田中 博 1979-01-24 企画部
0005 鈴木 太郎 1968-11-09 営業部

 ア  SELECT 氏名 FROM 社員 GROUP BY 氏名 HAVING COUNT(*) > 1
 イ  SELECT 氏名 FROM 社員 WHERE 氏名 = 氏名
 ウ  SELECT 氏名 FROM 社員 WHERE 氏名 = 氏名 ORDER BY 氏名
 エ  SELECT 氏名, COUNT(*) FROM 社員 GROUP BY 氏名


答え ア


解説
“社員”表から同姓同名の社員を探すには、社員表から同じ氏名のデータをまとめ(GROUP)、まとめた組のデータの件数が1より大きければ、2人以上の同姓同名の社員がいることになるので、これをSQL文にすると
 SELECT 氏名 FROM 社員 GROUP BY 氏名 HAVING COUNT(*) > 1
(ア)になります。


キーワード
・SQL文

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

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

戻る 一覧へ 次へ