主要内容

innerjoin

内连接两个表或时间表

描述

例子

T= innerjoin (Tleft,Tright)创建表或时间表,T,因为内连接TleftTright使用关键变量。所有变量均有相同的名称输入关键变量。内连接结合的关键变量匹配值的行。例如,如果Tleft有变量命名Key1Var1,Tright有变量Key1Var2,然后T = innerjoin (Tleft Tright)使用Key1作为一个关键变量。

输出变量T Key1 Var1,只和Var2,结合行Key1 Tleft和Tright匹配的值。

匹配的关键变量的值在左和右表中没有相同的顺序。内部连接可以执行关键变量之间的一对多和多对一的比赛两个表。即一个值一旦发生在左边的一个关键变量表可以有多个匹配正确的表。同样,一旦发生在一个关键变量的值正确的表可以有多个匹配在左表。

您可以执行内部连接只在特定组合的表和时间表。

  • 如果Tleft是一个表,然后呢Tright必须是一个表。innerjoin返回T作为一个表。

  • 如果Tleft是一个时间表,然后呢Tright可以是一个表或一个时间表。innerjoin返回T作为一个时间表的输入组合。

行标签的向量TleftTright可关键变量。行标签是一个表的行名称,或行乘以一个时间表。

T= innerjoin (Tleft,Tright,名称,值)执行内连接操作由一个或多个指定附加选项名称,值对参数。

例如,您可以指定要使用的变量作为关键变量。

例子

(T,ileft,iright)= innerjoin (___)也回报指数向量,ileftiright指示行之间的对应关系T和行TleftTright分别。您可以使用该语法的任何输入参数在前面的语法。

例子

全部折叠

创建一个表,Tleft

Tleft =表([5;12;23;2,6],{“麦片”;“披萨”;“鲑鱼”;“饼干”;“披萨”},“VariableNames”,{“年龄”,“FavoriteFood”})
Tleft =5×2表年龄FavoriteFood ___ _______ 5{“麦片”}12 23{“披萨”}{“鲑鱼”}2{‘饼干’}6{'披萨'}

创建一个表,Tright,有一个共同的变量Tleft

({Tright =表“麦片”;“饼干”;“披萨”;“鲑鱼”;“蛋糕”},(110;160;140;367;243),{“- - -”;' D ';“B”;“B”;“C -”},“VariableNames”,{“FavoriteFood”,“卡路里”,“NutritionGrade”})
Tright =5×3表FavoriteFood卡路里NutritionGrade{“麦片”}110 _______ ________ * * *{“-”}{‘饼干’}160 {' D '}{“披萨”}140 {B}{“鲑鱼”}367 {B}{‘蛋糕’}243 {' C - '}

使用innerjoin函数来创建一个新表,T,数据表TleftTright

T = innerjoin (Tleft Tright)
T =5×4表年龄FavoriteFood卡路里NutritionGrade ___ 110{“麦片”}_______ ________ * * *{“-”}{‘饼干’}160 {' D '} 140{“披萨”}{B}{“披萨”}140 {B} 23 367{“鲑鱼”}{B}

T排序的关键变量,FavoriteFood

创建一个表,Tleft

({Tleft =表“一个”“b”“c”“e”“h”}”,[1 2 3 11 17]”,“VariableNames”,{“Key1”“Var1”})
Tleft =5×2表Key1 Var1 _____ _____ {a} 1 {b} 2 {' c '} 3 {“e”} 11 {' h '} 17

创建一个表,Tright变量,有共同的价值观Key1表之间的TleftTright,但也包含值的行Key1没有出现在Tleft

({Tright =表“一个”“b”' d '“e”}”,[4 5 6 7]”,“VariableNames”,{“Key1”“Var2”})
Tright =4×2表Key1 Var2 _____ _____ {a} {b} 4 5 6 {' d '} {“e”} 7

使用innerjoin函数来创建一个新表,T,数据表TleftTright。仅保留变量的值的行Key1匹配。

同时,回报指数向量,ileftiright指示行之间的对应关系T和行TleftTright分别。

[T ileft iright] = innerjoin (Tleft Tright)
T =3×3表Key1 Var1 Var2 _____ _____ _____ {a} {b} 1 4 2 5 {“e”} 11 7
ileft =3×11 2 4
iright =3×11 2 4

T由关键变量中的值排序,Key1,包含的水平连接Tleft (ileft:)Tright (iright Var2)

创建一个表,Tleft

Tleft =表([10;4;2;3;7]、[5;4、9、6;1],[10;3、8、8;4))
Tleft =5×3表Var1 Var2 Var3 ____上10 5 10 4 4 3 2 9 8 3 6 7 8 1 4

创建一个表,Tright与共同价值观,表的第二个变量作为第一个变量Tleft

Tright =表([6;1;1、6、8],[2,3,4,5,6))
Tright =5×2表Var1 Var2 ____ ____ 6 2 1 3 4 5 6 8 6

使用innerjoin函数来创建一个新表,T,数据表TleftTright。使用的第一个变量Tleft第二个变量Tright作为关键变量。

[T ileft iright] = innerjoin (Tleft Tright,“LeftKeys”,1“RightKeys”,2)
T =3×4表Var1_Tleft Var2 Var3 Var1_Tright __________ ____ ____⒈2 9 8 6 3 6 8 1 4 4 3 1
ileft =3×13 4 2
iright =3×11 2 3

T只保留匹配的行TleftTright对关键变量。

T包含的水平连接Tleft (ileft:)Tright (iright Var1)

创建两个时间表,TleftTright。他们有一些行乘以共同点,但每个还包括行乘以没有时间表。

Tleft =时间表(秒([1,2,4,6]),11 (1 2 3)”)
Tleft =4×1的时间表Var1 _____ __ 1秒1 2秒2 4秒3 6秒11
Tright =时间表(秒([2、4、6、7]),[4 5 6 7]”)
Tright =4×1的时间表Var1 _____ __ 2秒4 4秒5 6秒6 7秒7

结合TleftTright内连接。T匹配的行与行乘以。T不包含任何其他行从时间表。

T = innerjoin (Tleft Tright)
T =3×2时间表时间Var1_Tleft Var1_Tright _____ __________⒈2秒2 4 4秒3 5 6秒11 6

输入参数

全部折叠

左表,指定为一个表或一个时间表。

正确的表,指定为一个表或一个时间表。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:“钥匙”,2使用第二个变量Tleft第二个变量Tright作为关键变量。

变量作为键指定为逗号分隔组成的“钥匙”一个正整数,向量的正整数,字符串数组,特征向量,单元阵列的特征向量,模式标量,或逻辑向量。

你不能使用“钥匙”名称-值对论点的“LeftKeys”“RightKeys”名称-值对参数。

一个向量的行标签可以是一个关键,单独或结合其他关键变量。有关更多信息,请参见提示部分。

例子:“钥匙”,[1 3]使用第一个和第三个变量TleftTright作为一个关键变量。

例子:“钥匙”,{' X ', ' Y '}使用的变量命名XYTleftTright作为关键变量。

例子:“钥匙”,“行”使用行名称的向量TleftTright关键变量,如果两个TleftTright表有行名称。

变量作为键Tleft,指定为逗号分隔两人组成的“LeftKeys”一个正整数,向量的正整数,字符串数组,特征向量,单元阵列的特征向量,模式标量,或逻辑向量。

你必须使用“LeftKeys”名称-值对参数结合“RightKeys”名称-值对的论点。“LeftKeys”“RightKeys”都必须指定相同数量的关键变量。innerjoin根据他们的订单对键值。

一个向量的行标签可以是一个关键,单独或结合其他关键变量。有关更多信息,请参见提示部分。

例子:“LeftKeys”, 1只使用第一个变量Tleft作为一个关键变量。

变量作为键Tright,指定为逗号分隔两人组成的“RightKeys”一个正整数,向量的正整数,字符串数组,特征向量,单元阵列的特征向量,模式标量,或逻辑向量。

你必须使用“RightKeys”名称-值对参数结合“LeftKeys”名称-值对的论点。“LeftKeys”“RightKeys”都必须指定相同数量的关键变量。innerjoin根据他们的订单对键值。

一个向量的行标签可以是一个关键,单独或结合其他关键变量。有关更多信息,请参见提示部分。

例子:“RightKeys”, 3只使用第三个变量Tright作为一个关键变量。

变量Tleft包括在T,指定为逗号分隔两人组成的“LeftVariables”一个正整数,向量的正整数,字符串数组,特征向量,单元阵列的特征向量,模式标量,或逻辑向量。

您可以使用“LeftVariables”包括或排除关键变量,以及nonkey从输出变量,T

默认情况下,innerjoin包括所有的变量Tleft

变量Tright包括在T,指定为逗号分隔两人组成的“RightVariables”一个正整数,向量的正整数,字符串数组,特征向量,单元阵列的特征向量,模式标量,或逻辑向量。

您可以使用“RightVariables”包括或排除关键变量,以及nonkey从输出变量,T

默认情况下,innerjoin包括所有的变量Tright除了关键变量。

输出参数

全部折叠

内连接的TleftTright,返回一个表或一个时间表。输出表或时间表,T,包含一个行中每一对行的TleftTright共享相同的值的组合的关键变量。如果TleftTright包含同名的变量,innerjoin增加了一个独特的后缀中相应的变量名T

一般来说,如果有TleftnTright所有包含相同的关键变量中的值,T包含m * n行组合。

T由关键变量中的值排序,包含横向连接的Tleft (ileft LeftVars)Tright (iright RightVars)。默认情况下,LeftVars包括所有的变量Tleft,RightVars包括所有nonkey变量Tright。否则,LefttVars由指定的变量“LeftVariables”名称-值对的观点,RightVars是指定的变量“RightVariables”名称-值对的论点。

你可以储存额外的元数据,如描述,单位的变量,变量名和行名称T。有关更多信息,请参见属性的部分时间表

索引Tleft,作为一个列向量返回。的每个元素ileft标识的行Tleft输出表中对应于这一行或时间表,T

索引Tright,作为一个列向量返回。的每个元素iright标识的行Tright输出表中对应于这一行或时间表,T

更多关于

全部折叠

关键变量

变量用于匹配和组合之间的数据输入表,TleftTright

提示

  • 表标签从输入向量的行或时间表可以是一个关键,单独或结合其他关键变量。行标签是一个表的行名称或行乘以一个时间表。使用这个向量作为一个关键,指定它“行”(一个表的行名称),正如它的名字行乘以一个时间表向量,或作为的价值T.Properties.DimensionNames {1},在那里T是表或时间表。

    一般来说,innerjoin行标签从输入表副本Tleft输出表T

    • 如果Tleft没有行标签呢T没有行标签。

    • 如果Tleft行标签,然后innerjoin行标签副本从Tleft创建行标签T

      • 然而,如果两个TleftTright表,但你没有指定名称作为键,输入表的行吗innerjoin不创建行名称T

    你不能使用的行标签执行内连接Tleft左边的键和一个变量Tright正确的关键。执行内连接,转换的行标签Tleft表变量和使用新表变量作为一个关键。

扩展功能

版本历史

介绍了R2013b

另请参阅

||