- join: both tables need the same keys
- innerjoin: The result contains the overlapping keys only
- outerjoin: The result contains all keys of both tables and fills missing values with dummies.
What is the difference between inner join and join?
35 次查看(过去 30 天)
显示 更早的评论
采纳的回答
Jan
2018-1-12
编辑:Jan
2018-1-12
For a join both tables requires the same variables. For an innerjoin the overlapping variables are chosen.
A look into the documentation is useful:
help join
help innerjoin
You can create an innerjoin of:
a = table({'a' 'b' 'c' 'e' 'h'}', [1 2 3 11 17]', 'VariableNames',{'Key1' 'Var1'})
b = table({'a' 'b' 'd' 'e'}', [4 5 6 7]', 'VariableNames',{'Key1' 'Var2'})
The result contains the overlapping keys 'a', 'b', 'e' only. You cannot join them due to the not matching 'c' and 'h'. But you can join:
a = table({'a' 'b' 'c' 'e' 'h'}', [1 2 3 11 17]', 'VariableNames', {'Key1' 'Var1'})
b = table({'a' 'b' 'h' 'e' 'c'}', [4 5 6 7 8]', 'VariableNames', {'Key1' 'Var2'})
Here the join and innerjoin give the same results, so it does not matter, which one you run.
Note:
更多回答(0 个)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!