si entiendo bien te regresa los registros porque estas haciendo un inner join por el campo id y el campo id existe en las 2 tablas
Tabla Empleados
Codigo = 1 Empleado = Juan
Codigo = 2 = Empleado = <Null>
Codigo = 3 = Empleado = María
Tabla Departamentos
Codigo = 1 Departamento = <Null>
Codigo = 2 Departamento = Informática
Codigo = 3 = Departamento = Finanzas
asi que te regresaria
1 juan Null
2 Null Informatica
3 Maria Fianzas
aqui lo que podrias hacer es algo asi:
Código SQL:
Ver originalSELECT
A.Empleado,
B.Departamento
FROM
Empleados A
INNER JOIN
Departamentos B
ON
A.Codigo = B.Codigo AND a.empleado IS NOT NULL AND b.departamento IS NOT NULL
y te regresaria
3 Maria Fianzas
Saludos!