La clausola MySQL IN può essere utilizzata invece di utilizzare l'operatore OR con la clausola Where. Può essere utilizzato quando la clausola where viene applicata per più valori della stessa colonna.
Per capire IN clausola, considera user_table tabella, che ha i seguenti record:
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)
Supponiamo che tu voglia mostrare i record con no_of_posts pari a 50 e 20 e 70. Puoi farlo usando OPPURE condizioni come segue
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)
Utilizzando IN clausola sembra: