SQLを一から学ぼうとして、オススメされた本
「達人に学ぶSQL徹底指南書~初心者で終わりたくないあなたへ~」
を読んで、不思議に思ったこと。
・INNER JOIN についての記述が見られなかった。
使用する SQL文に2つに1つの頻度であったので、
是非記述されてほしかったが、見つかることはなかった。
(隅々まで読んだといい難いが、
よく比較されるOUTER JOIN(外部結合)の項に
内部結合のなの字も使われていない。)
記載されていない意味はわからないが、
せっかく調べたので、メモ程度ではあるが、
INNER JOINについて記述していこうと思う。
INNER JOIN (内部結合)を示すなら
「複数のテーブルのカラムの値が一致するデータだけを取得する結合方法」
ですね。
— 簡略化したSQL文 —
SELECT (取得カラム)
FROM (テーブル名)
INNER JOIN (テーブル名)
ON (結合条件)
重要なこと
・カラムの値が一致していないと想定した結果は得られない。
ー>カラム名や長さは違っても、タイプが合っていないといけない。
・NULLは除外。
ー>(バージョンによって結果は違うようだ)
ちなみに、NULLが除外される理由は
「値でも変数でもなく、単なる視覚的なマークである」
からだと思われる。
(明文化されてサイトを見つけられなかったため、
上記で挙げた本から引用しました。)
NULLのレコードも表示したい場合は、
素直に OUTER JOIN を使用した方がよいです。
ー>できなくはない。
結合条件が複雑になる。
実際の画像がないといまいち
説得力がないよね。。。