Полное внешнее соединение с SQLite


SQLite имеет только внутреннее и левое соединение.

есть ли способ сделать полное внешнее соединение с SQLite?

2 53

2 ответа:

Да, смотрите пример на Википедия.

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.