innerjoin
Inner join between two tables or timetables
Syntax
Description
creates the table or timetable, T
= innerjoin(Tleft
,Tright
)T
, as the inner
join of Tleft
and Tright
using
key variables. All
variables with the same names in both inputs are key variables. An inner join
combines rows where the key variables have matching values. For example, if
Tleft
has variables named Key1
and
Var1
, and Tright
has variables
Key1
and Var2
, then
T=innerjoin(Tleft,Tright)
uses Key1
as a
key variable.
The matching values of the key variables in the left and right tables do not have to be in the same order. Inner joins can perform one-to-many and many-to-one matches between the key variables of the two tables. That is, a value that occurs once in a key variable of the left table can have multiple matches in the right table. Similarly, a value that occurs once in a key variable of the right table can have multiple matches in the left table.
You can perform inner joins only on certain combinations of tables and timetables.
If
Tleft
is a table, thenTright
must be a table.innerjoin
returnsT
as a table.If
Tleft
is a timetable, thenTright
can be either a table or a timetable.innerjoin
returnsT
as a timetable for either combination of inputs.
The vectors of row labels of Tleft
and
Tright
can be key variables. Row labels are the row names of
a table, or the row times of a timetable.
performs the inner-join operation with additional options specified by one or more
T
= innerjoin(Tleft
,Tright
,Name,Value
)Name,Value
pair arguments.
For example, you can specify the variables to use as key variables.
Examples
Input Arguments
Output Arguments
More About
Tips
The vector of row labels from an input table or timetable can be a key, alone or in combination with other key variables. Row labels are the row names of a table or the row times of a timetable. To use this vector as a key, specify it as
'Row'
(for the row names of a table), as the name of a timetable vector of row times, or as the value of
, whereT
.Properties.DimensionNames{1}
is the table or timetable.T
In general,
innerjoin
copies row labels from the input tableTleft
to the output tableT
.If
Tleft
has no row labels, thenT
has no row labels.If
Tleft
has row labels, theninnerjoin
copies row labels fromTleft
to create row labels inT
.However, if both
Tleft
andTright
are tables, but you do not specify either input table’s row names as a key, theninnerjoin
does not create row names inT
.
You cannot perform an inner join using the row labels of
Tleft
as the left key and a variable ofTright
as the right key. To perform the inner join, convert the row labels ofTleft
to a table variable and use the new table variable as a key.
Extended Capabilities
Version History
Introduced in R2013b
See Also
join
| outerjoin
| Join
Tables