Any way to get join to include the non-matching line ???

Hi,

Need guidance if I should totally abandon join and use something else instead. I found several other options when searching for merge files in UNIX.com

Below are the test files to join:

$ head -1000 a.txt b.txt c.txt
==> a.txt <==
A|1
B|3
C|5
D|10
E|11

==> b.txt <==
A|4
B|5
C|4
D|1

==> c.txt <==
A|1
A|3
C|5
D|10
E|11

Running

$ join -t"|" -j1 a.txt b.txt

gives

A|1|4
B|3|5
C|5|4
D|10|1

Is there no way to get the E row from a.txt

Running

$ join -t"|" -j1 a.txt c.txt

. Is there no way to get the B row from a.txt printed?

A|1|1
A|1|3
C|5|5
D|10|10
E|11|11

Hi

join -t'|' -a1 a.txt b.txt
join -t'|' -a1 a.txt c.txt
join -t"|" -j 1 -a 1 -a 2 a.txt c.txt