Uma abordagem para Oracle:
SELECT val
FROM myTable
UNION ALL
SELECT 'DEFAULT'
FROM dual
WHERE NOT EXISTS (SELECT * FROM myTable)
Ou alternativamente no Oracle:
SELECT NVL(MIN(val), 'DEFAULT')
FROM myTable
Ou alternativamente no SqlServer:
SELECT ISNULL(MIN(val), 'DEFAULT')
FROM myTable
Eles usam o fato de que
MIN()
retorna NULL
quando não há linhas.