MySQL不支持FULL OUTER JOINS是否有原因? [英] Is there a reason MySQL doesn't support FULL OUTER JOINS?

查看:104
本文介绍了MySQL不支持FULL OUTER JOINS是否有原因?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

MySQL不支持FULL OUTER JOINS是否有原因?我已经尝试过很多次在mysql中使用完全外部联接语法,但从未奏效,只是发现它不受mysql的支持,只是好奇为什么?

Is there a reason MySQL doesn't support FULL OUTER JOINS? I've tried full outer join syntax in mysql many times and it never worked, just found out its not supported by mysql so just curious as to why?

推荐答案

MySQL缺少其他数据库具有的许多功能*.我认为他们积压了大量想法,没有足够的开发人员来实现所有想法.

MySQL lacks a lot of functionality that other databases have*. I think they have a pretty huge backlog of ideas and not enough developers to implement them all.

此功能在2006年被请求,但仍未实现.我认为它的优先级较低,因为您可以通过将LEFT和RIGHT OUTER JOIN与UNION ALL结合使用来解决此问题.不愉快,但是可以解决问题.更改此:

This feature was requested in 2006 and is still not implemented. I guess it has low priority because you can work around it by combining LEFT and RIGHT OUTER JOIN with a UNION ALL. Not pleasant, but it does the trick. Change this:

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还具有许多其他数据库所没有的一些功能.


* To be fair to MySQL, they also have some features that many other databases don't have.

这篇关于MySQL不支持FULL OUTER JOINS是否有原因?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆