Il existe un moyen d'utiliser un champ calculé dans la clause where?

Il y a un moyen d'utiliser un champ calculé dans la clause where ?

Je veux faire quelque chose comme

SELECT a, b, a+b as TOTAL FROM (
   select 7 as a, 8 as b FROM DUAL
   UNION ALL
   select 8 as a, 8 as b FROM DUAL
   UNION ALL
   select 0 as a, 0 as b FROM DUAL
)
WHERE TOTAL <> 0
;

mais j'obtiens l'erreur ORA-00904: ""TOTALE": identifiant invalide.

J'ai donc utiliser

SELECT a, b, a+b as TOTAL FROM (
   select 7 as a, 8 as b FROM DUAL
   UNION ALL
   select 8 as a, 8 as b FROM DUAL
   UNION ALL
   select 0 as a, 0 as b FROM DUAL
)
WHERE a+b <> 0
;

source d'informationauteur Luc M