以下の内容はhttps://ponsuke-tarou.hatenablog.com/entry/2025/10/09/201830より取得しました。


和両立は同じような構成のテーブル同士

前回の勉強内容

ponsuke-tarou.hatenablog.com

勉強のきっかけになった過去問

関係R,Sに次の演算を行うとき,RとSが和両立である必要のないものはどれか。

  1. 共通集合
  2. 差集合
  3. (正解)直積
  4. 和集合

出典 : データベーススペシャリスト試験 令和3年秋期 午前Ⅱ 問11

2024-03-16訪問 大田68 大正湯

和両立は、列数と型が一緒のこと

テーブルの構成がおんなじだけど内容が違うのが「和両立」です。

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

  1. EXISTS
  2. (正解)NOT EXISTS
  3. NOT IN
  4. R.ID NOT IN

出典 : 情報セキュリティスペシャリスト試験 平成22年秋期 午前Ⅱ 問21

例えば、
表Rには2列で[数値][文字]の列があって、

ID(数値) NAME(文字)
1 すずき
2 たぬき
3 きつね

表Sにも2列で[数値][文字]の列があると

NO(数値) NAMAE(文字)
1 たなか
2 たぬき
3 ねこ

表Rと表Sは「和両立」になります。

「差集合R-S」ということで「表Rから表Sのデータを除いたデータ」と考えて

SELECT * FROM R WHERE NOT EXISTS (SELECT * FROM S WHERE S.NO=R.NO AND S.NAME=R.NAME)

となり以下を取得できる。

ID(数値) NAME(文字)
1 すずき
3 きつね

和両立は、同じような構成とも考えられる。

同じような構成なので、「合わせる」「差をとる」「同じデータをとる」ことができます。

集合の名前 SQLの結合 ざっくり言うと
和集合 UNION データを縦に合わせる
差集合 EXCEPT
NOT EXISTS
差分
共通集合 INTERSECT 共通のデータで「∩」で書かれるやつ
直積 CROSS JOIN データを横に合わせる

でも「直積」だけは横にくっつけるので、同じような構成にする必要はないのです。
ponsuke-tarou.hatenablog.com

和両立である関係RとSがある。R∩Sと等しいものはどれか。ここで,-は差演算,∩は共通集合演算を表す。

  1. (正解)R-(R-S)
  2. R-(S-R)
  3. (R-S)-(S-R)
  4. S-(R-S)

出典 : データベーススペシャリスト試験 平成21年春期 午前Ⅱ 問8

「和両立である関係RとS」「R∩Sと等しいもの」から「RとSは一致する部分がある関係」と考えてベン図で考えるとわかりやすいです。

2024-03-20訪問 渋谷10 八幡湯

次回の勉強内容

ponsuke-tarou.hatenablog.com




以上の内容はhttps://ponsuke-tarou.hatenablog.com/entry/2025/10/09/201830より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14