@Blorgbeard の回答 (上位 1 と順序を使用) がおそらく最良の方法ですが、サブクエリを使用して存在しないようにすることもできます:
SELECT name FROM names
WHERE (colA = @colA) OR (colA = 'ALL' AND NOT EXISTS(
SELECT name FROM names
WHERE colA = @colA))
これの「利点」は、より標準的な SQL を使用することだと思います。