内部联接
内部连接在两个表或时间表之间
句法
C = Innerjoin(A,B)
C = Innerjoin(A,B,名称,值)
[c,ia,ib] = innerjoin(___)
描述
例子
表的内联合操作,具有一个通用变量的表
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
由关键变量排序,最喜欢的食品
。
Inner-Join Operation of Tables and Indices to Values
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 ofkey1
not 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
匹配。
另外,返回索引向量,ia
和IB
指示行之间的对应关系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
输入参数
a,b
-输入表
表|时间表
输入表,指定为表或时间表。
名称值对参数
指定可选的逗号分隔对名称,价值
参数。姓名
是参数名称和价值
是相应的值。姓名
必须出现在单引号中(''
)。您可以按任何顺序指定几个名称和值对参数姓名1,Value1,...,NameN,ValueN
。
“钥匙”,2
使用第二个变量一种
以及第二个变量b
作为关键变量。
'键'
-用作键的变量
正整数|积极整数的向量|角色向量|字符向量的单元格数|逻辑向量
用作键的变量,指定为逗号分隔对'键'
以及正整数,正整数的向量,字符矢量,字符矢量的细胞阵列或逻辑向量。
你不能使用'键'
名称值对参数与'左基
和“右键”
名称值对参数。
行标签可以单独或与其他钥匙变量组合使用。有关更多信息,请参阅尖端部分。
例子:“钥匙”,[1 3]
在一种
和b
作为关键变量。
'左基
-用于用作键的变量一种
正整数|积极整数的向量|角色向量|字符向量的单元格数|逻辑向量
用于用作键的变量一种
,指定为逗号分隔对'左基
以及正整数,正整数的向量,字符矢量,字符矢量的细胞阵列或逻辑向量。
您必须使用'左基
名称值对参数与“右键”
名称值对参数。'左基
和“右键”
两者都必须指定相同数量的密钥变量。内部联接
根据其顺序对钥匙值配对。
行标签可以单独或与其他钥匙变量组合使用。有关更多信息,请参阅尖端部分。
例子:“左脚犬”,1
只使用第一个变量一种
作为关键变量。
“右键”
-用于用作键的变量b
正整数|积极整数的向量|角色向量|字符向量的单元格数|逻辑向量
用于用作键的变量b
,指定为逗号分隔对“右键”
以及正整数,正整数的向量,字符矢量,字符矢量的细胞阵列或逻辑向量。
您必须使用“右键”
名称值对参数与'左基
名称值对参数。'左基
和“右键”
两者都必须指定相同数量的密钥变量。内部联接
根据其顺序对钥匙值配对。
行标签可以单独或与其他钥匙变量组合使用。有关更多信息,请参阅尖端部分。
例子:“ Rightkeys”,3
仅在b
作为关键变量。
'
-来自一种
包括C
正整数|积极整数的向量|角色向量|字符向量的单元格数|逻辑向量
来自一种
包括C
,指定为逗号分隔对'
以及正整数,正整数的向量,字符矢量,字符矢量的细胞阵列或逻辑向量。
您可以使用'
要包括或排除关键变量以及输出中的非键变量,C
。
默认情况下,内部联接
包括来自一种
。
'RightVariables'
-来自b
包括C
正整数|积极整数的向量|角色向量|字符向量的单元格数|逻辑向量
来自b
包括C
,指定为逗号分隔对'RightVariables'
以及正整数,正整数的向量,字符矢量,字符矢量的细胞阵列或逻辑向量。
您可以使用'RightVariables'
要包括或排除关键变量以及输出中的非键变量,C
。
默认情况下,内部联接
包括来自b
除了密钥变量。
输出参数
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
- 索引一种
列向量
索引一种
,作为列向量返回。每个元素ia
标识该行一种
对应于输出表或时间表中的该行,C
。
IB
- 索引b
列向量
索引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.
扩展功能
高阵列
用比在内存中拟合更多的行的数组计算。
此功能支持具有限制的高阵列:金宝app
您不能加入两个高的输入。
内部联接
可以一起加入:一张带有常规桌子的高高桌子。
带有常规桌子或时间表的高个子时间表。
You must specify one output argument. The three-output syntax
[C,IA,IB] = Innerjoin(___)
不支持。金宝app
有关更多信息,请参阅高阵列。
在R2013B中引入
matlab命令
您单击了与此MATLAB命令相对应的链接:
通过在MATLAB命令窗口中输入该命令。Web浏览器不支持MATLAB命令。金宝app
您还可以从以下列表中选择一个网站:
如何获得最佳网站性能
选择中国网站(中文或英语)以获得最佳场地性能。其他Mathworks乡村网站未针对您所在的访问进行优化。
美洲
- 一种mérica Latina(Español)
- 加拿大(英语)
- 美国(英语)