平成18年 秋期 ソフトウェア開発技術者 午前 問64

ビューGOODMAKERを用いて検索する次のSELECT文と同等な表を導出するSQL文はどれか。

 CREATE VIEW GOODMAKER(MNO, STATUS, AREA)
     AS SELECT MAKER.MNO, MAKER.STATUS, MAKER.AREA
     FROM MAKER
        WHERE MAKER.STATUS > 20

 SELECT MNO, STATUS、AREA FROM GOODMAKER
     WHERE GOODMAKER.AREA <> ’TOKYO’

 ア  SELECT MAKER.MNO, MAKER.STATUS, MAKER.AREA
 FROM GOODMAKER
    WHERE GOODMAKER.AREA <> ’TOKYO’
    AND  MAKER.STATUS > 20
 イ  SELECT MAKER.MNO, MAKER.STATUS, MAKER.AREA
 FROM MAKER
    WHERE MAKER.AREA <> ’TOKYO’
    AND  MAKER.STATUS > 20
 ウ  SELECT MAKER.MNO, MAKER.STATUS, MAKER.AREA
 FROM MAKER
    WHERE MAKER.AREA <> ’TOKYO’
    OR   MAKER.STATUS > 20
 エ  SELECT MAKER.MNO, MAKER.STATUS, MAKER.AREA
 FROM MAKER
    WHERE MAKER.AREA=’TOKYO’
    OR   MAKER.STATUS > 20


答え イ


解説
問題文のSQL文の前半の
『CREATE VIEW GOODMAKER(MNO, STATUS, AREA)
     AS SELECT MAKER.MNO, MAKER.STATUS, MAKER.AREA
     FROM MAKER
        WHERE MAKER.STATUS > 20』
は、
1行目は、GOODMAKERという仮想のテーブルを作り、その中の要素には「MNOとSTATUSとAREA」があるという意味です。
2行目、3行目は、MAKERというテーブルの「MNOとSTATUSとAREA」要素を取り出すという意味です。
4行目は、取り出す条件で、STATUSが20より大きいという意味です。

後半の
 『SELECT MNO, STATUS、AREA FROM GOODMAKER
     WHERE GOODMAKER.AREA <> ’TOKYO’』
は、
前半で作成したGOODMAKERのビューのうち、AREAがTOKYOでないもの取り出すという意味です。
要約すると、『テーブル:MAKERの、
 (1)STATUSが20より大きい。かつ
 (2)AREAがTOKYO以外。
のデータを取り出し、その要素の「MNOとSTATUSとAREA」でテーブルを作る。』という意味です。

 ア  選択肢では、3行目で「FROM GOODMAKER」となっていますが、“GOODMAKER”というテーブルはそもそも存在しませんので、間違いです。
 イ  選択肢では、3行目、4行目で(1)AND(かつ)(2)になっていて、1行目、2行目も問題なく、問題文のSQL文と同じ結果が得られます。
 ウ  選択肢では、3行目、4行目で上記(1)OR(または)(2)になっているので間違いです。
 エ  選択肢では、3行目が「AREAがTOKYOであること」になっていて、上記(2)と合わないので、間違いです。


キーワード
・SQL文

キーワードの解説
  • SQL文
    データベースにアクセスするための言語である。
    SQLを使用すると、データベースからの表の抽出の定義や、データベースのデータ操作など、データベースに関する処理を記述することができます。
    なお、SQLは公式には何かの略語ではないとなっていますが、SQLを開発したIBMでは“Structured Query Language”の略語となっています。
    また、読み方も、“シークェル”と読む人と“エス・キュー・エル”と読む人がいます。

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

戻る 一覧へ 次へ