文档

内部联接

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

句法

C = Innerjoin(A,B)
C = Innerjoin(A,B,名称,值)
[c,ia,ib] = innerjoin(___

描述

例子

C= innerjoin(a,b创建表或时间表,C,随着内在的连接一种b通过使用所有名称与同一名称的变量匹配行关键变量。您只能在表和时间表的某些组合上执行内部连接。

  • 如果一种是一个桌子,然后b必须是桌子。内部联接返回C作为桌子。

  • 如果一种是时间表,然后b可以是表或时间表。内部联接返回C作为任何输入组合的时间表。

内部联接仅保留匹配的行一种b关于关键变量。C包含来自一种b

行标签一种b可以是关键变量。行标签是表的行名称或时间表的行时间。

C= innerjoin(a,b,,,,名称,价值用一个或多个指定的其他选项执行内部加入操作名称,价值pair arguments.

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

例子

[[C,,,,ia,,,,IB] = innerjoin(___还返回索引向量,iaIB指示行之间的对应关系C和那些一种b分别。您可以将此语法与上一个语法中的任何输入参数一起使用。

例子

全部收缩

Create a table,一种

a =表([5; 12; 12; 23; 2; 6],,...{'谷物';'pizza';'三文鱼';'饼干';'pizza'},,...'variablenames',{'年龄',,,,“最喜欢的食品”})
a =5x2 table一种ge FavoriteFood ___ ____________ 5 'cereal' 12 'pizza' 23 'salmon' 2 'cookies' 6 'pizza'

Create a table,b,一个变量与一种

b =表({'谷物';'饼干';'pizza';'三文鱼';'蛋糕'},,...[[110;160;140;367;243],...{'一种-';'D';'b';'b';'C-'},,...'variablenames',{“最喜欢的食品”,,,,“卡路里”,,,,“营养果”})
b =5x3表最喜欢的食品Calories NutritionGrade ____________ ________ ______________ 'cereal' 110 'A-' 'cookies' 160 'D' 'pizza' 140 'B' 'salmon' 367 'B' 'cake' 243 'C-'

使用内部联接创建新表格的功能C,带有来自表的数据一种b

C = Innerjoin(A,B)
C =5x4表年龄最爱的食品卡路里营养_______________________________________________ 5'谷物'110'a-'2'2 cookies'160'12'12'12'12'140'140'140'b'6'6'140'140'b'b'23'23'23'salmon'367'b'b'b'b'

桌子C由关键变量排序,最喜欢的食品

Create a table,一种

a = table({'一种''b''C''e''H'}',[1 2 3 11 17]',,...'variablenames',{'key1''var1'})
a =5x2 tablekey1 var1 ____ ____'a'1'b'b'2'c'3'E'e'11'h'17

Create a table,b,在变量中具有共同值key1在表之间一种b,,,,but also containing rows with values ofkey1not present in一种

b =表({'一种''b''D''e'}',[4 5 6 7]',,...'variablenames',{'key1''var2'})
b =4x2表key1 var2 ____ ____'a'4'b'5'd d'6'e'7

使用内部联接创建新表格的功能C,带有来自表的数据一种b。仅保留其值在变量中的行key1匹配。

另外,返回索引向量,iaIB指示行之间的对应关系C和行进一种b分别。

[c,ia,ib] = innerjoin(a,b)
C =3x3表key1 var1 var2 ____ ____ ____'a'1 4'b'2 5'e'11 7
ia =1 2 4
ib =1 2 4

桌子C由关键变量中的值分类,key1,并包含水平串联a(ia,:)b(ib,'Var2')

Create a table,一种

a =表([10; 4; 2; 3; 7],[5; 4; 9; 6; 1],[10; 3; 8; 8; 4; 4])
a =5x3表var1 var2 var3 ____ ____ ____ 10 5 10 4 4 3 2 9 8 3 6 8 7 1 4

Create a table,b,,,,with common values in the second variable as the first variable of table一种

b =表([6; 1; 1; 1; 6; 8],[2; 3; 4; 4; 5; 6])
b =5x2 tableVar1 Var2 ____ ____ 6 2 1 3 1 4 6 5 8 6

使用内部联接创建新表格的功能C,带有来自表的数据一种b。使用第一个变量一种以及第二个变量b作为关键变量。

[c,ia,ib] = innerjoin(a,b,'左基,1,“右键”,2)
C =3x4表var1_a var2 var3 var1_b ______ ____ ____ ______ 2 9 8 6 3 6 8 1 4 4 3 1
ia =3 4 2
ib =1 2 3

桌子C仅保留匹配的行一种b关于关键变量。

桌子C包含水平串联a(ia,:)b(ib,'var1')

创建两个时间表,一种b。他们有一些共同的行,但每个行还包括其他时间表中不在的行时间。

一种= timetable(seconds([1;2;4;6]),[1 2 3 11]')
a =4x1时间表时间var1 _____ ____ 1秒1 2秒2 4秒3 6秒11
B =时间表(秒([2; 4; 6; 7]),[4 5 6 7]')
b =4x1时间表Time Var1 _____ ____ 2 sec 4 4 sec 5 6 sec 6 7 sec 7

结合一种b与内部联接。C将行与公共行时间匹配。C不包含两个时间表的其他行。

C = Innerjoin(A,B)
C =3x2时间表时间var1_a var1_b _____ ______ ______ 2秒2 4 4 Sec 3 5 6 sec 11 6

输入参数

全部收缩

输入表,指定为表或时间表。

名称值对参数

指定可选的逗号分隔对名称,价值参数。姓名是参数名称和价值是相应的值。姓名必须出现在单引号中('')。您可以按任何顺序指定几个名称和值对参数姓名1,Value1,...,NameN,ValueN

例子:“钥匙”,2使用第二个变量一种以及第二个变量b作为关键变量。

全部收缩

用作键的变量,指定为逗号分隔对'键'以及正整数,正整数的向量,字符矢量,字符矢量的细胞阵列或逻辑向量。

你不能使用'键'名称值对参数与'左基“右键”名称值对参数。

行标签可以单独或与其他钥匙变量组合使用。有关更多信息,请参阅尖端部分。

例子:“钥匙”,[1 3]一种b作为关键变量。

用于用作键的变量一种,指定为逗号分隔对'左基以及正整数,正整数的向量,字符矢量,字符矢量的细胞阵列或逻辑向量。

您必须使用'左基名称值对参数与“右键”名称值对参数。'左基“右键”两者都必须指定相同数量的密钥变量。内部联接根据其顺序对钥匙值配对。

行标签可以单独或与其他钥匙变量组合使用。有关更多信息,请参阅尖端部分。

例子:“左脚犬”,1只使用第一个变量一种作为关键变量。

用于用作键的变量b,指定为逗号分隔对“右键”以及正整数,正整数的向量,字符矢量,字符矢量的细胞阵列或逻辑向量。

您必须使用“右键”名称值对参数与'左基名称值对参数。'左基“右键”两者都必须指定相同数量的密钥变量。内部联接根据其顺序对钥匙值配对。

行标签可以单独或与其他钥匙变量组合使用。有关更多信息,请参阅尖端部分。

例子:“ Rightkeys”,3仅在b作为关键变量。

来自一种包括C,指定为逗号分隔对'以及正整数,正整数的向量,字符矢量,字符矢量的细胞阵列或逻辑向量。

您可以使用'要包括或排除关键变量以及输出中的非键变量,C

默认情况下,内部联接包括来自一种

来自b包括C,指定为逗号分隔对'RightVariables'以及正整数,正整数的向量,字符矢量,字符矢量的细胞阵列或逻辑向量。

您可以使用'RightVariables'要包括或排除关键变量以及输出中的非键变量,C

默认情况下,内部联接包括来自b除了密钥变量。

输出参数

全部收缩

内在加入一种b,作为表或时间表返回。输出表或时间表,C,包含每行的一行一种b在关键变量中共享值相同的值组合。如果一种b包含具有相同名称的变量,内部联接在相应的变量名称中添加了一个唯一的后缀C

通常,如果有m行进一种n行进b所有这些都包含关键变量中的值组合,然后C包含m*n该组合的行。

C由关键变量中的值分类,并包含a(ia,左室)b(ib,rightvars)。默认情况下,左边由所有变量组成一种, 和RightVars由来自所有非钥匙变量组成b。除此以外,左图'名称值对参数,以及RightVars是由'RightVariables'名称值对参数。

您可以存储其他元数据,例如描述,可变单元,可变名称和行名称C。有关更多信息,请参阅Properties sections of桌子或者时间表

索引一种,作为列向量返回。每个元素ia标识该行一种对应于输出表或时间表中的该行,C

索引b,作为列向量返回。每个元素IB标识该行b对应于输出表或时间表中的该行,C

更多关于

全部收缩

密钥变量

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

尖端

输入表的行标签一种b可以单独或与其他关键变量结合使用键。行标签是表格的行名称或时间表的行时间。一般来说,内部联接从输入表复制行标签一种到输出表C

  • 如果一种没有行标签C没有行标签。

  • 如果一种有行标签,然后内部联接一种C

    • 但是,如果两者都一种b是表,但是您没有指定输入表的行名称为键,然后内部联接不会在C

您无法使用的行标签执行内部连接一种as the left key and a variable ofb作为正确的钥匙。要执行内部联接,请转换一种to a table variable and use the new table variable as a key.

扩展功能

也可以看看

|

在R2013B中引入

这个话题有帮助吗?