Union join
x uj y uj [x;y] x ujf y ujf[x;y]
Where x and y are both keyed or both unkeyed tables, returns the union of the columns,
filled with nulls where necessary:
x and y have matching key column/s, then records in y update matching
records in xy records are inserted.q)show s:([]a:1 2;b:2 3;c:5 7)
a b c
-----
1 2 5
2 3 7
q)show t:([]a:1 2 3;b:2 3 7;c:10 20 30;d:"ABC")
a b c d
--------
1 2 10 A
2 3 20 B
3 7 30 C
q)s,t / tables do not conform for ,
'mismatch
q)s uj t / simple, so second table is inserted
a b c d
--------
1 2 5
2 3 7
1 2 10 A
2 3 20 B
3 7 30 C
q)(2!s) uj 2!t / keyed, so matching records are updated
a b| c d
---| ----
1 2| 10 A
2 3| 20 B
3 7| 30 C