Cita: (he usado LIKE pero con MATCH AGAINST se haría igual)
Eso no es correcto.
LIKE compara cadenas en base a un patron dado, con lo que puede comparar incluso fragmentos de ellas, sin importar la longitud del patrón a buscar.
MATCH() ... AGAINST() compara palabras completas contra índices FULLTEXT, donde la palabra debe tener una longitud mínima (usualmente confiogurada en 5 caracteres).
El primero devuelve cualquier cosa que encuentre que cumpla la condición. El segundo caso devuelve datos en función de un cálculo estadístico de relevancia para la condición buscada.
Son universos algo distintos.
En el contexto de lo que
pàreces describir, cualquiera de las dos opciones puede traerte resultados, porque el "ID" mencionado no es parte de la condición de búsqueda. Pero si realizas el JOIN como te lo plantearon podría haber resultados. Lo que si te sugiero es que tengas cuidado con el uso de palabras reservadas en nombres de tablas, campos u otroso objetos de base, porque pueden causar resultados erróneos o errores de sintaxis indetectables. "TYPE" es una de esas.
Nota: Lee las normas del foro, por favor. No se permiten ni códigos no SQL en los foros de BBDD, ni se tratan temas de programación.
Para temas de PHP está el foro de PHP.