2023年 秋期 データベーススペシャリスト 午前 問10

表Aと表Bkara,どちらか一方にだけ含まれるIDを得るSQL文のaに入れる字句はどれか。

[SQL文]
 SELECT COALENSCE(A.ID, .ID)
   FTOM A   a   B ON A.ID = B.ID
   WHERE A.ID IS NULL OR .ID IS NULL

 ア  FULL OUTER JOIN  イ  INNER JOIN
 ウ  LEFT OUTER JOIN  エ  RIGHT OUTER JOIN


答え ア


解説
表Aと表BのどちらかにしかないIDを得るには、表Aと表Bを完全外部結合(FULL OUTER JOIN)し、表AのIDがNULL又は表BのIDがNULLのデータを取り出せばいいので、SQL文は
 SELECT COALENSCE(A.ID, .ID)
   FTOM A FULL OUTER JOIN B ON A.ID = B.ID
   WHERE A.ID IS NULL OR .ID IS NULL
になる。


キーワード
・外部結合

キーワードの解説
  • 外部結合(OUTER JOIN)
    SQL文として
       FROM 表1 LEFT OUTER JOIN 表2
          ON (表1.列A = 表2.列B)
    と指定した場合、表1の列Aにしかないデータも検索されます。
       FROM 表1 RIGHT OUTER JOIN 表2
          ON (表1.列A = 表2.列B)
    と指定した場合、表2の列Bにしかないデータも検索されます。
       FROM 表1 FULL OUTER JOIN 表2
          ON (表1.列A = 表2.列B)
    と指定した場合、表1の列Aにしかないデータも表2の列Bにしかないデータも検索されます。

もっと、「外部結合」について調べてみよう。

戻る 一覧へ 次へ