平成22年 秋期 情報セキュリティスペシャリスト 午前II 問21

和両立である表R(ID, NAME)、S(NO, NAMAE)がある。
差集合R-Sを求めるSELECT文とするために、aに入れるべき適切な字句はどれか。
ここで、下線部は主キーを表す。
また、NAMEとNAMAEはNULL不可とする。

SELEST * FROM R WHERE   a  
    (SELECT * FROM S WHERE S.NO = R.ID AND S.NAMAE = R.NAME)

 ア  EXISTS  イ  NOT EXISTS  ウ  NOT IN  エ  R.ID NOT IN


答え イ


解説
差集合R-Sを求めるには、表Rから表Sと共通の部分を取り除けばよい。
表Rと表Sの共通部分は
 SELECT * FROM S WHERE S.NO = R.ID AND S.NAMAE = R.NAME
で表現できるので、表Rでこの部分ではないところを取りだすには、NOT EXISTSを使って
 SELEST * FROM R WHERE NOT EXISTS
     (SELECT * FROM S WHERE S.NO = R.ID AND S.NAMAE = R.NAME)
(イ)になる。


キーワード
・和両立

キーワードの解説
  • 和両立(Union Compatible)
    2つの関係について、その行数が同じであり、属性(ドメイン)も同じであることを示します。

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

戻る 一覧へ 次へ