SQL cómo simular un xor?

Me pregunto si alguien puede ayudarme a resolver esta pregunta que obtuve en una entrevista de trabajo. Digamos que tengo dos tablas como:

table1                 table2
------------           -------------
id | name              id | name
------------           -------------
 1 | alpha              1 | alpha
 3 | charlie            3 | charlie
 4 | delta              5 | echo
 8 | hotel              7 | golf
 9 | india

La pregunta era escribir una consulta SQL que devolvería todas las filas que están entable1 otable2 pero no ambos, es decir:

result
------------
id | name
------------
 4 | delta
 5 | echo
 7 | golf
 8 | hotel
 9 | india

Pensé que podía hacer algo como una unión externa completa:

SELECT table1.*, table2.* 
FROM table1 FULL OUTER JOIN table2 
ON table1.id=table2.id 
WHERE table1.id IS NULL or table2.id IS NULL

pero eso me da un error de sintaxis en SQL Fiddle (no creo que sea compatible con elFULL OUTER JOIN sintaxis). Aparte de eso, ni siquiera puedo encontrar una forma de concatenar las filas de las dos tablas, y mucho menos filtrar las filas que aparecen en ambas. ¿Puede alguien iluminarme y decirme cómo hacer esto? Gracias.

Respuestas a la pregunta(5)

Su respuesta a la pregunta