Bueno, volviendo al punto, cuando tienes N valores posibles para un campo o conjunto de campos, estos N valores nos indican que existe una relación 1:N entre la entidad base y otra que depende de ella. En tu caso lo que nos dice es que cada usuario o persona registrada en la tabla tiene como atributo idiomas que maneja, en cada uno de los cuales puede tener un único nivel de capacitacion.
Esto nos indica que hay al menos dos tablas (puede que más de dos) que faltan: idiomas_individuo, o algo así, donde se registra cada uno de los idiomas que la persona maneja con su respectiva categoría de conocimiento (B1, C2, etc.). Esa relación se define por medio de la FK que apunta a persona, y muy probablemente a otra tabla que nos indica la lista de idiomas registrados, cosa conveniente para evitar riesgos de inconsistencias de nombres si estos se ingresan manualmente.
A eso podría sumarse una de categorías o niveles, pero si la cantidad es inferior a 255, eso podría manejarse con un campo ENUM, sobre el que puedas buscar por nombre o indice. Es una decision de diseño.
Si tuviesemos esas dos tablas, tu consulta se reduciría a esto:
Incluso, si quieres todos los que manejan alemán en más de un nivel, podrías hacer:
con lo que no necesitas andar parseando el contenido del campo nivel, porque el valor contenido en cada registro de idioma en cada persona es único siempre.
Nota: LIKE es una cláusula que hay que manejar con cuidado porque tiende a generar resultados falsos en consultas cuando las cadenas de texto buscadas tienen menos de cinco caracteres.
Además, tampoco se lo debe usar con comodines en ambos lados porqu eeso genera FULL TABLE SCAN, lo que es la peor forma e consulta posible después del producto cartesiano.
Ver:
Primera Forma Normal: Repeticion de grupos dentro de columnas