IN
accetta un elenco o parametri da cercare, FIND_IN_SET
accetta un parametro stringa contenente un elenco separato da virgole:
SELECT 1 IN (1, 2, 3, 4)
SELECT FIND_IN_SET(1, '1,2,3,4')
Se provi ad applicare IN
in una stringa separata da virgole, lo tratterà come un singolo parametro e lo abbinerà nel suo insieme:
SELECT 1 IN ('1,2,3,4')
Naturalmente, la stringa '1'
non è uguale alla stringa '1,2,3,4'
quindi la query sopra restituisce false.