No está claro si el orden del conjunto de resultados es importante, por lo que también podría intentar:
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
)
Descargo de responsabilidad:Probado en SQL Server, pero sin usar nada específico para esa versión de SQL.