3
我需要基於一個公共主鍵聯接4個表。如果sqlite實現完全外連接,它可能看起來像這樣(不考慮優化)。完全外部加入在4個表上的sqlite
SELECT S.pair, C.ball, P.bluejeans, B.checkered
FROM Socks S
FULL OUTER JOIN Caps C
FULL OUTER JOIN Pants P
FULL OUTER JOIN Boxers B
WHERE S.color = C.color AND S.color = P.color AND S.color = B.color;
我看着漫長而艱難的,我發現最好的是這2臺sqlite的FULL JOIN左聯接和工會承滴盤實現:
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;
我試圖修改此工作對於超過2個表格,但我是新來的SQL,我沒有太多。是否有可能在合理的時間內得到這個結果?
我想我有3個表正確執行(這可能是不正確),但我似乎仍不能得到它爲4.這是我有3:
SELECT S.pair, C.ball, P.bluejeans
FROM Socks S LEFT JOIN Caps C LEFT JOIN Pants P
ON C.color = S.color AND P.color = S.color
UNION ALL
SELECT S.pair, C.ball, P.bluejeans
FROM Socks S LEFT JOIN Caps C LEFT JOIN Pants P
ON S.color = C.color AND S.color = P.color
WHERE S.color IS NULL;
任何幫助非常感謝