ハックライフノート

技術的な話とか、覚え書き

[MySQL]SELECT文で複数のカラムを複数の条件で指定する

タイトルだとちょっと分かりにくいですが、こんな事できるんだって少し驚いたのでそのメモです。

通常SELECT文と言えばこんなクエリになります。

SELECT * FROM hoge_table
WHERE column1 = 'cons'

んで、一つのカラムに対して複数条件はこれ。

SELECT * FROM hoge_table
WHERE column1 IN ('cons','sols')

ここまではまだ普通なんですが、複数のカラムに対して更に複数の条件を叩きつけたいって時が稀に起こるんですが、それが以下のSQLで可能です。

SELECT * FROM hoge_table
WHERE (column1,column2)
IN (('one','two'),('three','four'))

こうする事で、column1とcolumn2の組み合わせがone,twoまたはthree,fourの条件で検索できます。

奥が深いですね。