平成20年度 技術士第一次試験問題【専門科目】
【16】情報工学部門
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を使う。 従ってBCDが選択肢となる。

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


EXCELのマクロのご相談なら ファーストマクロ 



W−18 目次 W−20
ファーストマクロ TOPページ