El uso de LEFT JOIN en el contexto que lo usas hace que te devuelva toda la tabla de la izquierda, poniendo los valores de la tabla derecha que coinciden, y NULL en donde no se cumple la relación.
Es parte del funcionamiento normal del LEFT JOIN y su simétrico RIGHT JOIN.
Es útil, por ejemplo, cuando quieres encontrar todos aquellos de la tabla izquierda que no tienen coincidencias con la de la derecha:
Código SQL:
Ver originalSELECT A.*
FROM A LEFT JOIN B ON A.id = B.id
WHERE B.nombre IS NULL;
Si vas a recuperar datos de ambas tablas lo que debes hacer es controlar aquellos campos que tengan un posible NULL usando, por ejemplo, la función IFNULL(campo, valor), de modo de poner un resultado alternativo cuando el campo llega en NULL: IFNULL(campo, ''), por ejemplo.