Buenas tardes analizando un poco los campos de tabla_de_cliente observé la existencia de campo "VOLUMEN_DE_COMPRA" lo cual supuse que hace referencia a limite permitid de compra de cliente ya que no hay ningun otro campo que haga referencia al limite en cantidades, en base de lo ante dicho comparando los campos vi que no hay ninguna venta que sea superior al valoro del campo VOLUMEN_DE_COMPRA por lo cual no encuentro el sentido de la Query
SELECT
F.DNI,
DATE_FORMAT(F.FECHA_VENTA,"%m - %Y") AS MES_AÑO,
SUM(I.CANTIDAD) AS CANTIDAD_VENDIDA,
C.VOLUMEN_DE_COMPRA,
(1- (C.VOLUMEN_DE_COMPRA/SUM(I.CANTIDAD))) * 100 AS PORCENTAJE
FROM facturas F
INNER JOIN items_facturas I ON I.NUMERO = F.NUMERO
INNER JOIN tabla_de_clientes C ON F.DNI = C.DNI
GROUP BY F.DNI,DATE_FORMAT(F.FECHA_VENTA,"%m - %Y")
HAVING (CANTIDAD_VENDIDA - VOLUMEN_DE_COMPRA) < 0
ORDER BY F.DNI,DATE_FORMAT(F.FECHA_VENTA,"%m - %Y");