MATLAB: How to merge two tables when the key variables are not common

merge

I have two tables A and B with key variables. Most variables are the same.
A = [X,Y,K;
100,200,1;
300,400,2;
500,600,3]
B = [P,Q,K;
1000,2000,1;
3000,4000,2;
5000,6000,3;
7000,8000,4]
how could I get
C = [X,Y,K,P,Q;
100,200,1,1000,2000;
300,400,2,3000,4000;
500,600,3,5000,6000;
Nah,Nah,4,7000,8000]

Best Answer

This is called an outerjoin:
A = array2table([100 200 1; 300 400 2; 500 600 3], 'VariableNames', {'X', 'Y', 'K'});
B = array2table([1000 2000 1; 3000 4000 2; 5000 6000 3; 7000 8000 4], 'VariableNames', {'P', 'Q', 'K'});
C = outerjoin(A, B, 'MergeKeys', true)
Other types of joins are innerjoin and just plain join.