无需使用“完全外部联接”即可实现完全外部联接的最简单方法[关闭]

问题描述 投票:-5回答:1

没有完全外部联接关键字,实现完全外部联接的最简单,最简单的方法是什么?就查询而言,我是新手。一点帮助将是美好的。谢谢。 :)

假设我有两个表,雇员和部门,

这是等效查询吗? :

从部门,员工中选择*

mysql sql database join
1个回答
-2
投票

正确的通用方法是:

select t1.*, t2.*
from ((select id from table1
      ) union   -- on purpose to remove duplicates
      (select id from table2
      )
     ) i left join
     table1 t1
     on i.id = t1.id left join
     table2 t2
     on i.id = t2.id;

此字符与“真实” full join之间的唯一区别是,它不能完全相同地处理null id。可以扩展逻辑以处理此问题。

LEFT JOIN /RIGHT JOIN/ UNION是一个有趣的技巧,但与FULL JOIN几乎无关,因为它消除了重复项。尽管这可能是理想的,但功能不相同。

© www.soinside.com 2019 - 2024. All rights reserved.