Não está esclarecido se a ordenação do conjunto de resultados é importante, portanto, tente:
SELECT name,
value
FROM MyTable
WHERE id = 5
AND id NOT IN
(
SELECT id
FROM MyTable
WHERE id = 0
GROUP BY MyTable.id
)
UNION
SELECT name,
value
FROM MyTable
WHERE id = 0
AND name NOT IN
(
SELECT name
FROM MyTable
WHERE id = 5
GROUP BY MyTable.name
)
Isenção de responsabilidade:Testado no SQL Server, mas não usando nada específico para essa versão do SQL.