What is the difference between inner join and join?

35 visualizaciones (últimos 30 días)
JFz
JFz el 12 de En. de 2018
Comentada: JFz el 18 de Jun. de 2018
I have two tables, A and B. They are almost identical but in different sorted by rows.
I would like to tie them up by rows. Should I use innerjoin or join?
What is the difference between inner join and join? Thanks for any help.

Respuesta aceptada

Jan
Jan el 12 de En. de 2018
Editada: Jan el 12 de En. de 2018
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:
  • 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.

Más respuestas (0)

Categorías

Más información sobre Tables en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by