# Full outer join

**URL:** <https://forum.cloverdx.com/t/full-outer-join/183>\
**Category:** CloverDX Platform\
**Created:** [July 16, 2007, 12:00am UTC](https://forum.cloverdx.com/t/full-outer-join/183 "2007-07-16T00:00:00Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![oldforum](https://avatars.discourse-cdn.com/v4/letter/o/13edae/32.png) [@oldforum](https://forum.cloverdx.com/u/oldforum)\
**Post date:** [July 16, 2007, 12:00am UTC](https://forum.cloverdx.com/t/full-outer-join/183/1 "2007-07-16T00:00:00Z")

</div>

Is there a way to do a full outer join, without joining the files twice? Am I missing something – I only saw left outer.

---

<div class="post-metadata">

**Author:** ![oldforum](https://avatars.discourse-cdn.com/v4/letter/o/13edae/32.png) [@oldforum](https://forum.cloverdx.com/u/oldforum)\
**Post date:** [July 16, 2007, 8:23am UTC](https://forum.cloverdx.com/t/full-outer-join/183/2 "2007-07-16T08:23:44Z")

</div>

While we are in this topic, is it possible to have several out ports, 3 in particular: (if A and B are two files)  
outport0: results of inner join between A and B  
outport1: records in A but not in B (outer join on B)  
outport2: records in B but not A (outer join on A)

… assuming join on some key.

Above is “nirvana” for data warehousing situations, reducing considerable processing.

Thanks  
Akhil

---

<div class="post-metadata">

**Author:** ![oldforum](https://avatars.discourse-cdn.com/v4/letter/o/13edae/32.png) [@oldforum](https://forum.cloverdx.com/u/oldforum)\
**Post date:** [July 16, 2007, 8:23am UTC](https://forum.cloverdx.com/t/full-outer-join/183/3 "2007-07-16T08:23:45Z")

</div>

That’ll be awesome!

In Data Warehousing situations where one routinely compares a data set (say employee) from one period to another to get inserts (new employees)/updates (changed employees) and deletes (deleted employees) , a full outer join can do all 3 in one shot. Very useful for doing type-1 and 2 versioning.

This way, one needs to join the 2 data sets only ones.

By the way, cloverEtl rocks! Great Job!!!

Do you have a target feature list/date for the next release?

Also, I am doing some bench marks comparing clover tasks with similar oracle/mySql tasks. I’ll publish it when I am done.

Best  
Akhil

---

<div class="post-metadata">

**Author:** ![oldforum](https://avatars.discourse-cdn.com/v4/letter/o/13edae/32.png) [@oldforum](https://forum.cloverdx.com/u/oldforum)\
**Post date:** [July 16, 2007, 8:23am UTC](https://forum.cloverdx.com/t/full-outer-join/183/4 "2007-07-16T08:23:46Z")

</div>

Hmm,

I have never seen such component in “big” ETL tools, but this is really easy one. I have finished the outer join option in MERGE\_JOIN and this is just simple modification - based on matching driver&slave records send it to one of the three ports.

David.

---

<div class="post-metadata">

**Author:** ![oldforum](https://avatars.discourse-cdn.com/v4/letter/o/13edae/32.png) [@oldforum](https://forum.cloverdx.com/u/oldforum)\
**Post date:** [July 16, 2007, 8:23am UTC](https://forum.cloverdx.com/t/full-outer-join/183/5 "2007-07-16T08:23:47Z")

</div>

Hi!

Your observation is correct. There is no full-outer-join as of version 1.1.4.  
I will try to include it in version 1.1.5 as this is a simple addition. Only I have never thought of using it.

David.

---

<div class="post-metadata">

**Author:** ![oldforum](https://avatars.discourse-cdn.com/v4/letter/o/13edae/32.png) [@oldforum](https://forum.cloverdx.com/u/oldforum)\
**Post date:** [July 16, 2007, 8:23am UTC](https://forum.cloverdx.com/t/full-outer-join/183/6 "2007-07-16T08:23:48Z")

</div>

AbInitio is one such tool, that’s where I was exposed to this component. This tool is a market leader in handling high volume ETL.
