Syntax:
operand IN (subquery|valuelist)
An IN conditional expression returns true if the operand is found from result of the subquery or if its in the specificied comma separated valuelist, hence the IN expression is always false if the result of the subquery is empty.
FROM C1 WHERE C1.col1 IN (FROM C2(col1));

FROM User WHERE User.id IN (1,3,4,5)
The keyword IN is an alias for = ANY. Thus, these two statements are equal:
FROM C1 WHERE C1.col1 = ANY (FROM C2(col1));
FROM C1 WHERE C1.col1 IN    (FROM C2(col1));