Един подход за Oracle:
SELECT val
FROM myTable
UNION ALL
SELECT 'DEFAULT'
FROM dual
WHERE NOT EXISTS (SELECT * FROM myTable)
Или алтернативно в Oracle:
SELECT NVL(MIN(val), 'DEFAULT')
FROM myTable
Или алтернативно в SqlServer:
SELECT ISNULL(MIN(val), 'DEFAULT')
FROM myTable
Те използват факта, че MIN()
връща NULL
когато няма редове.