memorandum

IT技術の習得を記録します

sqlの結合の種類

・直積 (CROSS JOIN)
2つの表の全組み合わせになる結合
・内部結合 (INNER JOIN)
2つの表に値が等しいものが存在しない場合、行は生成しない結合 

以下は同じ結果になる

# 内部結合

select
  u.name,c.id
from
  user u,
  c_list c
where
  u.id = c..person_id;

# 内部結合

 select
    u.name,c.id
  from
    user u
  inner join  c_list c
  on
    u.id = c.person_id;

・外部結合 (OUTER JOIN)
値が等しいものが存在しない場合も、行は生成 結合する表のどちらに値が存在しない場合なのかを指定

・副問い合わせ(サブクエリ)
SQL文の中にSELECT文を埋め込み、抽出条件として利用