Código SQL
[-]
SELECT num_articulo,nombre,precio
From Articulos
Where num_articulo NOT IN(
SELECT num_articulo
FROM LineaFactura LF, Facturas F
WHERE LF.num_factura = F.num_factura
AND FECHA ... {La comparación depende del motor})
Lo de LF y F son nombres por los que se sutituye le nombre de la tabla y se usan para saber a que tabla pertenece cada campo ya que hay campos con el mismo nombre en las dos tablas implicadas en el join.
Pero prueba a borrar todos lo LF y F y prueba a ver si te funciona igual.
La otra consulta sería semejante.
Un saludo