Hola,
creo que tienes un pequeño lio con los join. El JOIN sin mas es como poner tabla1, tabla2 y lo que realiza es combinar cada uno de los registros de tabla1 con todos los registros de tabla2. Lo que tu necesitas es el LEFT (o RIGHT) JOIN, que es de la forma tabla1 LEFT JOIN tabla2 ON (tabla1.campo=tabla2.campo) . La condicion del ON es la condicion que relaciona los registros de ambas tablas, normalmente la clave foranea. Mas info en
http://www.mysql.com/doc/en/JOIN.html
Saludos.