IN述語を使うと OR をたくさん並べなくてよい
SQLのお話。あるカラムの複数の値をSELECTしたい。
愚直に書くとこうなる。
mysql> SELECT id, title, author FROM books WHERE id = 1 or id = 2; +----+-----------------------------------------------+--------------------------------+ | id | title | author | +----+-----------------------------------------------+--------------------------------+ | 1 | みみずくは黄昏に飛びたつ | 川上 未映子/村上 春樹 | | 2 | 村上春樹翻訳(ほとんど)全仕事 | 村上春樹 | +----+-----------------------------------------------+--------------------------------+ 2 rows in set (0.00 sec)
指定する値が増える数だけ OR が増えていく。めんどう。そういうときに IN述語が使える。
mysql> SELECT id, title, author FROM books WHERE id in (1, 2); +----+-----------------------------------------------+--------------------------------+ | id | title | author | +----+-----------------------------------------------+--------------------------------+ | 1 | みみずくは黄昏に飛びたつ | 川上 未映子/村上 春樹 | | 2 | 村上春樹翻訳(ほとんど)全仕事 | 村上春樹 | +----+-----------------------------------------------+--------------------------------+ 2 rows in set (0.00 sec)
便利だ。
参考 書きのpp210
(了)