MySQL不支持FULL OUTER JOINS是否有原因?我已经尝试过很多次在mysql中使用完全外部联接语法,但从未奏效,只是发现它不受mysql支持,所以好奇为什么?
MySQL缺乏其他数据库具有的许多功能*。我认为他们有大量的想法积压,并且没有足够的开发人员来实现所有想法。
此功能是在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还具有许多其他数据库所没有的某些功能。