Probemos:
o bien:
Por lo pronto, habías puesto dos veces esta condición:
Por otro, en MySQL, las condiciones del INNER JOIN se deben poner a continuación de cada INNER JOIN y no todas al final. Le facilita el parseo.
Además, Si ya tienes una condición de filtrado aplicable sobre una única tabla, es mejor resolverla sobre una subconsulta, ya que abrevia el tiempo de respuesta, especialmente si es una condición de alta selectividad. No te olvides que el WHERE es el último en ser evaluado por lo que para ese momento has debido leer toda la tabla B inútilmente.
En cualquier caso lo que te conviene es ir construyendo la sentencia parte a parte, para asegurarte qué JOIN o qué condición es la que produce mayor retraso; habitualmente esa será la condición o JOIN que tenga muy baja selectividad, o bien donde sea conveniente definir índices.
El
WHERE NOT Updated lo pongo de esa forma porque si es un booleano, la negación del FALSE devuelve TRUE, que es igual a lo que pones, pero más eficiente porque no hace comparaciones entre dos valores.