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: