在Access中实现全连接FULL JOIN

2017-11-21 14:35:00
cg1
转贴
131

在T-SQL 中可以用全连接返回所有的行。即显示存在匹配的同时,将各个表中不匹配的数据与空数据行匹配进行显示。

可以看成是左外连接与右外连接的并集。


但是在Access中不支持全连接,你可以用Left  Join和Right  Join,然后用 Union All 连接两个结果集,来达到外连接的效果。

但是原表不能通过这个Union All 的全连接来更新。要更新数据,必须建一个临时表,然后用几句查询语句来更新数据。

为了保证完整性你也可以用事务


请参考下面这段代码
SELECT table1.*, table2.*
FROM table1 LEFT JOIN table2
ON table1.id = table2.id
UNION ALL
SELECT table1.*, table2.*
FROM table1 RIGHT JOIN table2
ON table1.id = table2.id
WHERE table1.id IS NULL

分享