Статьи / MySQL


IN

Каждое значение слева от IN сравнивается(OR) со всеми значениями справа(списком или значением). Используется во вложенных запросах. Справа от IN находится вложенный запрос(подзапрос), а затем его результат в виде списка или значения.

SELECT * FROM `user` WHERE `id` IN (SELECT `user_id` FROM `comment`);


Мы можем получить такой же результат используя = ANY вместо IN
SELECT * FROM `user` WHERE `id` = ANY (SELECT `user_id` FROM `comment`);


Также можно сразу указать результат подзапроса, если он извесен заранее:
SELECT * FROM `user` WHERE `id` IN (1,5,77);