Hola buenas a todos, tengo un problema con una consulta y espero que alguien me pueda echar un cable, os cuento: 
 
Tengo estas tablas 
alumnos:
 *id_alum
(fk) id_usuario
 fecha_reg 
asignaturas:
*id_asig
 nombre 
alum_asig:
*id_alum
*id_asig
validado 
La consulta que quiero realizar consiste, en que me devuelva los nombres de las asignaturas cuyo id_alum e id_asig no se encuentren dentro de la tabla de alum_asig, resumiendo, que la consulta saque los nombres de las asignaturas en las cuales el alumno no esta matriculado. Tengo mi consulta hecha, pero me da este error #1241 - Operand should contain 1 column(s), si alguien sabes como ayudarme se lo agradeceria muchísimo, dejo abajo mi consulta, gracias y un saludo a toda la comunidad ;)    
Código MySQL:
Ver originalSELECT asignaturas.id_asig
, alumnos.id_alum 
FROM asignaturas
, usuarios
, alumnos
, alum_asig 
WHERE asignaturas.id_asig 
= alum_asig.id_asig 
AND alumnos.id_alum 
= alum_asig.id_alum 
AND alumnos.id_usuario 
= usuarios.id_usuario 
AND usuarios.username
='fran' not in (select id_alum
, id_asig 
FROM alum_asig
)