是不是有一個原因MySQL不支持FULL OUTER JOINS?我已經在mysql中嘗試了完整的外連接語法,它從來沒有工作過,只是發現它不支持mysql,所以只是好奇爲什麼?是不是有原因MySQL不支持FULL OUTER JOINS?
回答
MySQL缺少很多其他數據庫具有*的功能。我認爲他們有大量的想法積累,沒有足夠的開發人員來實現它們。
此功能was requested在2006年仍未實施。我想它的優先級很低,因爲你可以通過將LEFT和RIGHT OUTER JOIN與UNION ALL結合來解決它。不愉快,但它有訣竅。更改此:
SELECT *
FROM table1
FULL OUTER JOIN table2
ON table1.table2_id = table2.id
這樣:
SELECT *
FROM table1
LEFT JOIN table2
ON table1.table2_id = table2.id
UNION ALL
SELECT *
FROM table1
RIGHT JOIN table2
ON table1.table2_id = table2.id
WHERE table1.table2_id IS NULL
*爲了公平起見到MySQL,他們也有很多其他的數據庫沒有的一些功能。
因爲它從來沒有被MySQL開發者實現。 爲什麼? 因爲沒有足夠的客戶壓力。
+1雖然我懷疑這裏有因果關係,毫無疑問存在相關性,例如我懷疑'FULL OUTER JOIN'是許多MySql願望清單的頂部(對於記錄來說,我的頂部是實際檢查的'CHECK'約束)。 – onedaywhen 2010-07-29 13:18:19
隨着產品的成熟,每個版本都會增加更多功能。只是把它記錄下來直到尚未實現。我確信它最終會在那裏,但這並不意味着MySql不好或什麼都不好,每個數據庫都有額外的功能以及缺少的功能。我希望SQL Server具有MySql所具有的組連接功能!
我不相信MySQL開發者曾經說過爲什麼它可能很難實現的任何技術原因。
但是,像大多數DBMS一樣,MySQL在很多地方沒有完全實現ANSI標準。由於FULL OUTER JOIN是一個很少使用的功能,並且通常可以由UNION解決方法替代,所以修復它幾乎沒有任何壓力。
我建議將您的聲音添加到bug 18003。
在大型系統中,我通常可能會使用一次或兩次FULL OUTER JOIN,所以對它沒有太大的需求,當然你可以很容易地解決它,並且可能更明確地讀取(如果你可以根據左/右結果來推斷派生列)和一個LEFT和RIGHT JOIN的聯合。
- 1. OLEDB 12.0是否支持FULL OUTER JOIN?
- 2. FULL OUTER JOIN這是有點INNER
- 3. Apigee似乎不支持OAuth 2規範,是否有原因?
- 4. Mysql的模擬FULL OUTER JOIN
- 5. 雙FULL OUTER JOIN在MySQL
- 6. 「LLVM ERROR:目標不支持MC發射!」是什麼原因?
- 7. sbt不支持開發人員密鑰的原因是什麼?
- 8. Mysql在這裏不支持單行註釋。這是什麼原因?
- 9. 是否有動態變量不是私有的原因?
- 10. 是否有技術上的原因EF 5不完全支持.NET4.0?
- 11. 是否有原因CSS不支持從樣式中應用樣式?
- 12. Redshift FULL OUTER JOIN不輸出NULL
- 13. Django的FULL OUTER JOIN
- 14. SQL Full Outer加入
- 15. 此LINQ查詢中不支持OUTER APPLY
- 16. 「NSInternalInconsistencyException」,原因是:「富」是不是NSManagedObject
- 17. MySQL是否支持「如果不存在」?
- 18. 原因:不是v4.0.0 POM
- 19. 是有原因的innerHTML不會寫
- 20. 是否有原因不使用CustomAttributes?
- 21. TextArea MaxLength - 支持還是不支持?
- 22. 「USB主機支持不可用」消息的根本原因是什麼?
- 23. PHP MySQL不支持IN嗎?
- 24. FULL OUTER與臨時表JOIN
- 25. FULL OUTER JOIN值條件
- 26. 是否有瀏覽器不支持maxlength?
- 27. 是Android不支持USSD CALL?
- 28. 是Hibernate -OGM不支持InheritanceType.JOINED?
- 29. Android支持v4中導致Inflate Exeception的原因是什麼?
- 30. 是否有一個原因,卡桑德拉沒有地理空間的支持?
您可以投票支持此功能[在MySql](http://bugs.mysql.com/bug.php?id=18003&thanks=3¬ify=67) – 2012-06-11 14:43:11