本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成20年度 技術士第一次試験問題【専門科目】

W−19

「名簿」、「委員会」、「委員」の3つのテーブルがあり、それぞれの関係スキーマは次のように与えられている。

 名簿 (委員ID, 委員名, 委員出身)
 委員会 (委具会ID, 委具会名)
 委員 (委員会ID, 委員ID, 担当時間)

次の2つのSQL文が常に同じ結果となる (ア) と (イ) の組合せを、@〜Dの中から選べ。

 SELECT 名簿.委員会 FROM 名簿, 委員
 WHERE 名簿.委員ID = 委員.委員ID AND
   (ア)  (SELECT 委員.委員ID FROM 委員会, 委員
  WHERE 委員会.委員会ID = 委員.委員会ID
  AND 委員会.委員会名 = '予算') ;

 SELECT 名簿.委員名 FROM 名簿, 委員
 WHERE 名簿.委員ID IN
  (SELECT 委員.委員ID FROM 委員会, 委員
  WHERE 委員.委員会ID = 委員.委員会ID AND  (イ)  ;

                  

@ 名簿.委員ID =      委員会.委員会名 <> '予算'

A 名簿.委員ID =      委員会.委員会名 = '予算'

B 名簿.委員ID NOT IN   委員会.委員会名 <> '予算'

C 委員.委員ID NOT IN   委員会.委員会名 = '予算'

D 委員.委員ID IN      委員会.委員会名 <> '予算'


正解

B


解説

@ アは、括弧の中の要素と一致することを条件とするには = は使えず、INを使う。

A @と同様である。

B 正しい。どちらも委員会名が予算でない行を選択する。

C アは、NOT IN () であり、委員会名が予算でない行を選択するのに対し、イは = を使っており、委員会名が予算である行を選択する。

D アは、IN () であり、委員会名が予算である行を選択するのに対し、イは <> を使っており、委員会名が予算でない行を選択する。

W−18 目次 W−20