3 回答

TA貢獻1789條經驗 獲得超10個贊
是的,請參閱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

TA貢獻1784條經驗 獲得超2個贊
在喬納森·萊夫勒(Jonathan Leffler)評論之后,這是馬克·拜爾斯(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示例。

TA貢獻1883條經驗 獲得超3個贊
如果使用UNION ALL,則兩個選擇之一必須排除“內部聯接”行,例如所示的WHERE條件,這一點至關重要?;蛘?,您可以使用普通的UNION并消除其重復,以避免重復“內部聯接”行。
添加回答
舉報