SQLite имеет только INNER и LEFT JOIN.
Есть ли способ сделать FULL OUTER JOIN с SQLite?
Да, см. пример в Wikipedia.
SELECT employee.*, department.*
FROM employee
LEFT JOIN department
ON employee.DepartmentID = department.DepartmentID
UNION ALL
SELECT employee.*, department.*
FROM department
LEFT JOIN employee
ON employee.DepartmentID = department.DepartmentID
WHERE employee.DepartmentID IS NULL
Следуя комментарию Джонатана Леффлера, здесь альтернативный ответ на вопрос Марка Байерса:
SELECT * FROM table_name_1 LEFT OUTER JOIN table_name_2 ON id_1 = id_2
UNION
SELECT * FROM table_name_2 LEFT OUTER JOIN table_name_1 ON id_1 = id_2
Смотрите здесь для исходных исходных и последующих примеров SQLite.
UNION
из трех запросов, где в вашем примере только два. Можете ли вы объяснить разницу?