What happens when you do a SQL query where the IN clause is empty?
For example:
SELECT user WHERE id IN ();
Will MySQL
The closest approximation of this query with valid syntax is:
SELECT user FROM tbl1 WHERE id IN (SELECT id FROM tbl1 WHERE FALSE);
which unconditionally returns an empty result set. The subquery in the bracket always returns an empty set, and no value can be found in an empty set, since an empty set contains no values.