How to remove from a table using left join to get the id of the same table by using alias
You can use JOIN in the FROM part instead of WHERE. This is the multi-table delete syntax, details in  mysql docs: DELETESyntax.

Example:

DELETE fa.* 
FROM cce_sa_fa AS fa
  JOIN examinations AS ex 
    ON ex.id = fa.exam
WHERE fa.exam IN (1,2,...) 
  AND ex.name &lt;&gt; fa.name ;


Another way would be to convert the IN subquery to EXISTS:

DELETE 
FROM cce_sa_fa AS fa
WHERE EXISTS
      ( SELECT * 
        FROM examinations AS ex 
        WHERE ex.id = fa.exam
          AND ex.name &lt;&gt; fa.name 
      ) 
WHERE fa.exam IN (1,2,...) ;