IN
accepte une liste ou des paramètres à rechercher, FIND_IN_SET
accepte un paramètre de chaîne contenant une liste séparée par des virgules :
SELECT 1 IN (1, 2, 3, 4)
SELECT FIND_IN_SET(1, '1,2,3,4')
Si vous essayez d'appliquer IN
à une chaîne séparée par des virgules, il le traitera comme un paramètre unique et le correspondra dans son ensemble :
SELECT 1 IN ('1,2,3,4')
Bien sûr, la chaîne '1'
n'est pas égal à la chaîne '1,2,3,4'
donc la requête ci-dessus renvoie false.