A cláusula MySQL IN pode ser usada em vez de usar o operador OR com a cláusula Where. Pode ser usado quando a cláusula where é aplicada a vários valores da mesma coluna.
Para entender EM cláusula, considere user_table tabela, que possui os seguintes registros:
mysql> SELECT * FROM user_table; +------+------+------------+--------------------+ | id | name | join_date | no_of_posts | +------+------+------------+--------------------+ | 1 | Jim | 2013-01-24 | 50 | | 2 | Rambo| 2013-05-27 | 20 | | 3 | Jack | 2013-05-06 | 70 | | 4 | Bill | 2013-04-06 | 20 | | 5 | Tara | 2013-06-06 | 30 | +------+------+------------+--------------------+ 5 rows in set (0.00 sec)
Digamos que você queira mostrar registros com no_of_posts igual a 50 e 20 e 70. Isso pode ser feito usando OU condições da seguinte forma
mysql>SELECT * FROM user_table ->WHERE no_of_posts= 50 OR ->no_of_posts= 20 OR no_of_posts= 70; +------+------+------------+--------------------+ | id | name | work_date | no_of_posts | +------+------+------------+--------------------+ | 1 | Jim | 2013-01-24 | 50 | | 2 | Rambo| 2013-05-27 | 20 | | 3 | Jack | 2013-05-06 | 70 | | 4 | Bill | 2013-04-06 | 20 | +------+------+------------+--------------------+ 4 rows in set (0.02 sec)
Usando IN cláusula fica assim: