Usando los if anidados y la cadena if-elseif-else-endif Me salio esto:
USE JUGOS_VENTAS;
DROP PROCEDURE IF EXISTS COMPARACION_VENTAS;
DELIMITER $$
CREATE PROCEDURE
COMPARACION_VENTAS(FECHA1 DATE, FECHA2 DATE)
BEGIN
DECLARE TOTAL_VENTA1 FLOAT DEFAULT 0.0;
DECLARE TOTAL_VENTA2 FLOAT DEFAULT 0.0;
DECLARE VARIACION FLOAT;
DECLARE MESSAGE VARCHAR(50) DEFAULT "***";
SELECT SUM(B.CANTIDAD * B.PRECIO) INTO TOTAL_VENTA1 FROM
facturas A INNER JOIN items_facturas B
ON A.NUMERO = B.NUMERO
WHERE A.FECHA_VENTA = FECHA1;
SELECT SUM(B.CANTIDAD * B.PRECIO) INTO TOTAL_VENTA2 FROM
facturas A INNER JOIN items_facturas B
ON A.NUMERO = B.NUMERO
WHERE A.FECHA_VENTA = FECHA2;
IF TOTAL_VENTA1 IS NOT NULL AND TOTAL_VENTA2 IS NOT NULL
THEN
SET VARIACION = CEIL(((TOTAL_VENTA1 - TOTAL_VENTA2)/TOTAL_VENTA2)*100);
IF VARIACION > 10.0
THEN
SET MESSAGE = "VERDE : ";
ELSEIF VARIACION BETWEEN -10 AND 10
THEN
SET MESSAGE = "AMARILLO : ";
ELSE
SET MESSAGE = "ROJO : ";
END IF;
SET MESSAGE = CONCAT(MESSAGE,VARIACION,'%');
ELSE
-- Coalece evita que todo se haga null,
-- pues si concatenas un o mas NULL, con no NULLs
-- Toda la expresion se hace NULL.
SET MESSAGE = concat("LOS VALORES SON (DEFAULT): ", COALESCE(TOTAL_VENTA1,'NULL'),' Y ', COALESCE(TOTAL_VENTA2,'NULL'));
END IF;
SELECT MESSAGE;
END $$
CALL COMPARACION_VENTAS('2016-01-01','2017-01-01');
Bueno, el resultado sale lo mismo que la solucion del profesor, pero la diferencia es que sale el porcentaje de variacion, si es negativo o positivo, eso ayudara si aumento a disminuye las ventas en una fecha determinada.