「達人に学ぶSQL徹底指南書」を読み進めていきましたがNULLについていろいろ書いてあるのでメモリます。EXISTSは同値ではないNULLには未知と適用不能の2パターンがある初めて知りましたが、NULLにも未知と適用不能の2パターンがあるようです。未知・・今はわからないけど、条件がそろえば知ることができる適用不能・・どう頑張ってもわからないものただ実務上ではこの2つはほぼ同一に考えられているようですね。要点をまとめると下記のようになるでしょうか。NULLというのはISとNULLの組み合わせよりはこれ1つで状態を表しているブーリアンはtrue,false以外にもunknownという状態が存在する。上記のSQLの場合、人間の感覚でいうとすべての人は20歳以上もしくは20歳未満ですのですべてが該当しそうですが、NULLの場合はわからないとなって出てこなくなります。上記のSQLでは×を返すことがありません。NULLという評価をするためです。この場合、NULLを判定したい場合は、下記のように書きます。Class_Bの東京在住の生徒と年齢が一致しないAクラスの生徒を選択するクエリを書くとします。期待する結果としては「ヤマダ」たとれればOKです。='東京');これですと実は1人も選択されません。='東京'であれば22が引っかかります。これはNOT~が具体的にはunknown(含まれているか、含まれていないかがわからない)を返すから判定できない、となってしまうのです。EXISTSにかえると、意図した検索結果(ヤマダ)が帰ってきます。(※EXISTSはtrueかfalseを必ず返すため。);詳しくは「達人に学ぶSQL徹底指南書」を読んでみましょう。それ以外でも集約関数などでNULLが悪さをすることがあり、NULLは様々な誤動作をすることがあります。NULLをなるべく使うというのが正しいテーブルの作り方になります。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。関連記事SQLで数列を扱う今回はSQLで数列を扱ってみましょう。これにより連番を作成してみましょう。複数のタグなどを入れる場合、JSON型のカラムやデータなどを入れることがあるかと思いますが、ここから検索できるということが昨日わかりましたので、メモしておきます。...mavenのリモートリポジトリについてJPAでO/Rマッパーに慣れてからというもの通常のSQLをごりごり書くのが億劫になってきました。億劫というかいろいろとリスクがありますね。「達人に学ぶSQL徹底指南書」読んでますが、かなり難しいものがでてきましたね。テーブルは前回のものと同じ以下のものを使います。loadingフレームワークでデータをORMがらみでjoinするときのネタ。自分の場合はLaravel。