web-dev-qa-db-ja.com

SQLiteを使用した完全な外部結合

SQLiteには、INNERとLEFT JOINのみがあります。

SQLiteで完全外部結合を行う方法はありますか?

57
Yada

はい、 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
93
Mark Byers

ジョナサン・レフラーのコメントに続いて、マーク・バイヤーズの回答に対する別の回答があります。

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の例については、 here を参照してください。

5
Adil Hussain