Klauzula MySQL IN może być użyta zamiast operatora OR z klauzulą Where. Może być używany, gdy klauzula jest stosowana dla wielu wartości tej samej kolumny.
Aby zrozumieć IN klauzula, rozważ user_table tabela, która zawiera następujące rekordy:
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)
Załóżmy, że chcesz wyświetlić rekordy, w których liczba postów wynosi 50, 20 i 70. Można to zrobić za pomocą LUB warunki w następujący sposób
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)
Korzystanie z IN klauzula wygląda tak: