All column names in SELECT list must appear in GROUP BY clause unless name is used only in an aggregate function.
Change query to:
SELECT d.D#,DNAME,sum(budget) as "TOTAL BUDGETS"
FROM DEPARTMENT d,PROJECT p
WHERE d.D# = p.D#
GROUP BY d.D#, DNAME;
Update for the comment:
SELECT d.D#, d.DNAME, NVL(SUM(p.budget), 0) as "TOTAL BUDGETS"
FROM DEPARTMENT d LEFT OUTER JOIN PROJECT p ON d.D#=p.D#
GROUP BY d.D#, d.DNAME;