Un approccio per Oracle:
SELECT val
FROM myTable
UNION ALL
SELECT 'DEFAULT'
FROM dual
WHERE NOT EXISTS (SELECT * FROM myTable)
O in alternativa in Oracle:
SELECT NVL(MIN(val), 'DEFAULT')
FROM myTable
O in alternativa in SqlServer:
SELECT ISNULL(MIN(val), 'DEFAULT')
FROM myTable
Questi usano il fatto che MIN()
restituisce NULL
quando non ci sono righe.