IF EXISTS se usa para establecer la existencia o no de TABLAS, PROCEDURES, FUNCTIONS o TRIGGERS. La comparación que estás tratando de hacer se realiza con la cláusula IN, en el contexto de una subconsulta o una lista de valores.
Código sql:
Ver originalSELECT a, b, c
FROM tabla
WHERE a IN
(SELECT e.Id_Compuesto
FROM ensayo e INNER JOIN compuesto c ON E.Id_compuesto = C.Id_compuesto);
1. No uses el WHERE para hacer una selección del tipo E.Id_compuesto = C.Id_compuesto. Si ambos corresponden al mismo valor y dominio, entonces se deben poner con un ON o un USING en el JOIN. MySQL no sabe cómo optimizar un WHERE, pero sin un JOIN.
2. La cláusula IN (subconsulta) solamente compara UN valor por vez, por lo que la subconsulta debe ser sobre un sólo campo. Para más datos, ver:
13.2.8. Sintaxis de subconsultas