からくりブログ

株式会社からくり社員のブログです

DB の INNER JOIN について

SQLを一から学ぼうとして、オススメされた本
「達人に学ぶSQL徹底指南書~初心者で終わりたくないあなたへ~」
を読んで、不思議に思ったこと。

・INNER JOIN についての記述が見られなかった。

使用する SQL文に2つに1つの頻度であったので、
是非記述されてほしかったが、見つかることはなかった。
(隅々まで読んだといい難いが、
よく比較されるOUTER JOIN(外部結合)の項に
内部結合のなの字も使われていない。)

記載されていない意味はわからないが、
せっかく調べたので、メモ程度ではあるが、
INNER JOINについて記述していこうと思う。

INNER JOIN (内部結合)を示すなら
「複数のテーブルのカラムの値が一致するデータだけを取得する結合方法」
ですね。

— 簡略化したSQL文 —

SELECT (取得カラム)
FROM (テーブル名)
INNER JOIN (テーブル名)
ON (結合条件)


重要なこと
・カラムの値が一致していないと想定した結果は得られない。
ー>カラム名や長さは違っても、タイプが合っていないといけない。
・NULLは除外。
ー>(バージョンによって結果は違うようだ)

ちなみに、NULLが除外される理由は
「値でも変数でもなく、単なる視覚的なマークである」
からだと思われる。
(明文化されてサイトを見つけられなかったため、
上記で挙げた本から引用しました。)

NULLのレコードも表示したい場合は、
素直に OUTER JOIN を使用した方がよいです。
ー>できなくはない。
結合条件が複雑になる。

実際の画像がないといまいち
説得力がないよね。。。

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>