主要内容

内部联接

内部连接在两个表或时间表之间

描述

例子

T.= InnerJoin(TLEFT.Tright的)创建表或时间表,T.,作为内部联接TLEFT.Tright使用关键变量.两个输入中具有相同名称的所有变量都是键变量。内连接组合了关键变量具有匹配值的行。例如,如果TLEFT.有名为的变量键1var1, 和Tright有变量键1var2, 然后T = Innerjoin(TLEFT,TRIVEL)使用键1作为一个关键变量。

左右表中关键变量的匹配值不必以相同的顺序排列。内部连接可以在两个表的关键变量之间执行一对多和多对一的匹配。也就是说,在左表的键变量中出现一次的值可以在右表中有多个匹配。类似地,在右表的键变量中出现一次的值可以在左表中有多个匹配。

您只能在表和时间表的某些组合上执行内部连接。

  • 如果TLEFT.那是一张桌子,然后Tright必须是一张桌子。内部联接回报T.作为桌子。

  • 如果TLEFT.是一个时间表,然后Tright可以是桌子或时间表。内部联接回报T.作为输入组合的时间表。

行标签的载体TLEFT.Tright可以是关键变量。行标签是表的行名称,或时间表的行时间。

T.= InnerJoin(TLEFT.Tright名称,价值的)使用一个或多个指定的附加选项执行内连接操作名称,价值对参数。

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

例子

[T.我离开了iRight.) = innerjoin (___的)还返回索引向量,我离开了iRight.表示行之间的对应关系T.和行TLEFT.Tright分别。您可以使用此语法与上一个语法中的任何输入参数。

例子

全部收缩

创建一个表,TLEFT.

tleft =桌子([5; 12; 23; 2; 6],......{'谷物';“披萨”;'三文鱼';'饼干';“披萨”},......'variablenames',{'年龄''最喜欢的食物'})
TLEFT =.5×2表年龄最喜欢的食物___ ____________ 5 {'麦片'} 12 {'披萨'} 22 {'salmon'} 2 {'cookies'} 6 {'pizza'}

创建一个表,Tright,有一个变量共同TLEFT.

({Tright =表'谷物';'饼干';“披萨”;'三文鱼';'蛋糕'},......(110; 160; 140; 367; 243),......{'一种-';'D';'B';'B';“C -”},......'variablenames',{'最喜欢的食物''卡路里''营养不起'})
Tright =.5×3表最喜欢的食物营养品蜜饯____________ ________ ______________} {'cake'} 243 {'c-'}

使用内部联接创建新表的函数,T.,来自表的数据TLEFT.Tright

T = Innerjoin(TLEFT,TRIVEL)
t =5×4表年龄最喜欢的食物卡路里营养____ _______________________________ 5 {'a-'} 2 {'a-'} 160 {'d'} 12 {'b'} 140 {'b'} 6 {'披萨'{140 {'b'} 23 {'salmon'} 367 {'b'}

表格T.按键变量排序,最受欢迎的

创建一个表,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,可变中的常见值键1表之间TLEFT.Tright,但也包含值为的行键1没有出现在TLEFT.

({Tright =表'一种''B''D''e'}',[4 5 6 7]',......'variablenames',{'key1''var2'})
Tright =.4×2表key1 var2 __________ {'a'} 4 {'b'} 5 {'d'} 6 {'e'} 7

使用内部联接创建新表的函数,T.,来自表的数据TLEFT.Tright.仅保留变量中值的行键1比赛。

此外,返回索引矢量,我离开了iRight.表示行之间的对应关系T.和行TLEFT.Tright分别。

[T ileft iright] = innerjoin (Tleft Tright)
t =3×3表key1 var1 var2 _____ ____ ____ {'a'} 1 4 {'b'} 2 5 {'e'} 11 7
inleft =.3×11 2 4.
iright =.3×11 2 4.

表格T.按键变量中的值排序,键1,并包含水平串联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 8 7 1 4

创建一个表,Tright,第二个变量中的公共值作为表的第一个变量TLEFT.

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

使用内部联接创建新表的函数,T.,来自表的数据TLEFT.Tright.使用第一个变量ofTLEFT.和第二种变量Tright作为关键变量。

[T ileft iright] = innerjoin (Tleft Tright,'左键',1,'lightneys',2)
t =3×4表Var1_Tleft Var2 Var3 Var1_Tright  __________ ____ ____ ___________ 2 9 8 6 3 6 8 1 4 4 3 1
inleft =.3×13 4 2
iright =.3×11 2 3.

表格T.仅保留与之间匹配的行TLEFT.Tright关于关键变量。

表格T.包含水平串联TLEFT(ILEFT,:)Tright(iright,'var1')

创建两个时间表,TLEFT.Tright.它们有一些共同的行,但每个都包括不在其他时间表中的行时间。

TLEFT =时间表(秒([1; 2; 4; 6]),[1 2 3 11]')
TLEFT =.4×1时间表Time Var1 _____ ____ 1秒1 2秒2 4秒3 6秒11
Trik =时间表(秒([2; 4; 6; 7]),[4 5 6 7]')
Tright =.4×1时间表时间Var1 _____ ____ 2秒4秒5 6秒6 7秒7

结合TLEFT.Tright内部连接。T.使用常用行时间匹配行。T.不包含来自时间表的任何其他行。

T = Innerjoin(TLEFT,TRIVEL)
t =3×2时间表Time var1_tleft var1_tright _________________________________ 2 sec 2 4 4 sec 3 5 6 sec 11 6

输入参数

全部收缩

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

右表,指定为表或时间表。

名称值对参数

指定可选的逗号分离对名称,价值参数。姓名是参数名称和价值是相应的价值。姓名必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:'钥匙',2使用第二个变量TLEFT.和第二个变量Tright作为关键变量。

用作键的变量,指定为逗号分隔对'钥匙'和一个正整数,正整数的矢量,字符矢量,字符矢量,字符串阵列或逻辑向量的细胞阵列。

你不能使用'钥匙'名称 - 值对参数与'左键''lightneys'名称值对参数。

行标签的向量可以是密钥,单独或与其他关键变量组合。有关更多信息,请参阅提示部分。

例子:'keys',[1 3]使用第一个和第三变量TLEFT.Tright作为关键变量。

例子:'keys',{'x','y'}使用命名为XyTLEFT.Tright作为关键变量。

例子:“钥匙”,“行”使用行名的向量TLEFT.Tright作为关键变量,如果两者都是TLEFT.Tright是表名称的表。

作为键使用的变量TLEFT.,指定为逗号分隔的配对组成'左键'和一个正整数,正整数的矢量,字符矢量,字符矢量,字符串阵列或逻辑向量的细胞阵列。

你必须使用'左键'名称 - 值对参数结合使用'lightneys'名称值对参数。'左键''lightneys'两者都必须指定相同数量的键变量。内部联接对基于其订单的对键值。

行标签的向量可以是密钥,单独或与其他关键变量组合。有关更多信息,请参阅提示部分。

例子:'左键',1中只使用第一个变量TLEFT.作为一个关键变量。

作为键使用的变量Tright,指定为逗号分隔的配对组成'lightneys'和一个正整数,正整数的矢量,字符矢量,字符矢量,字符串阵列或逻辑向量的细胞阵列。

你必须使用'lightneys'名称 - 值对参数结合使用'左键'名称值对参数。'左键''lightneys'两者都必须指定相同数量的键变量。内部联接对基于其订单的对键值。

行标签的向量可以是密钥,单独或与其他关键变量组合。有关更多信息,请参阅提示部分。

例子:'lightneys',3仅使用第三个变量Tright作为一个关键变量。

变量来自TLEFT.包括在内T.,指定为逗号分隔的配对组成'左道'和一个正整数,正整数的矢量,字符矢量,字符矢量,字符串阵列或逻辑向量的细胞阵列。

您可以使用'左道'包括或排除关键变量,以及来自输出的非键变量,T.

默认情况下,内部联接包括TLEFT.

变量来自Tright包括在内T.,指定为逗号分隔的配对组成“RightVariables”和一个正整数,正整数的矢量,字符矢量,字符矢量,字符串阵列或逻辑向量的细胞阵列。

您可以使用“RightVariables”包括或排除关键变量,以及来自输出的非键变量,T.

默认情况下,内部联接包括所有变量Tright除了关键变量。

输出参数

全部收缩

内在加入TLEFT.Tright,作为表或时间表返回。输出表或时间表,T.,包含每对行的一行TLEFT.Tright它在关键变量中共享相同的值组合。如果TLEFT.Tright包含具有相同名称的变量,内部联接将唯一的后缀添加到相应的变量名称中T.

一般来说,如果有的话M.TLEFT.N.Tright那么,所有这些都包含密钥变量中的相同的值组合T.包含M * N.该组合的行。

T.按键变量中的值排序,并包含水平串联TLEFT(ILEFT,LEFFVARS)Tright(Iright,Rightvars).默认情况下,左转包括所有变量TLEFT., 和RightVars由所有的onkike变量组成Tright.除此以外,左边包括由此指定的变量组成'左道'名称值对参数,以及RightVars是由此指定的变量“RightVariables”名称值对参数。

您可以存储其他元数据,如描述,可变单位,变量名和行名称T..有关更多信息,请参见属性部分桌子或者时间表

指数到TLEFT.,作为列向量返回。每个元素我离开了识别行中的行TLEFT.这对应于输出表或时间表中的该行,T.

指数到Tright,作为列向量返回。每个元素iRight.识别行中的行Tright这对应于输出表或时间表中的该行,T.

更多关于

全部收缩

关键变量

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

提示

  • 来自输入表或时间表的行标签向量可以是密钥,单独或与其他关键变量组合。行标签是表的行名称或时间表的行时间。要将此向量用作键,请将其指定为'排'(对于表的行名称),作为行时间的时间表矢量的名称,或者作为值T..properties.dimensionnames {1}, 在哪里T.是桌子还是时刻表?

    一般来说,内部联接从输入表中复制行标签TLEFT.到输出表T.

    • 如果TLEFT.没有行标签,然后T.没有行标签。

    • 如果TLEFT.然后是行标签内部联接复制行标签TLEFT.创建行标签T.

      • 但是,如果两者都是TLEFT.Tright是表格,但您没有将输入表的行名称指定为键,然后内部联接不创建行名称T.

    您无法使用行标签执行内部连接TLEFT.作为左键和变量Tright作为右键。要执行内联连接,请转换行标签TLEFT.,并使用新的表变量作为键。

扩展能力

也可以看看

||

介绍在R2013B.