outerjoin
外连接两个表或时间表
语法
描述
创建表或时间表,T
= outerjoin (Tleft
,Tright
)T
,因为外连接的Tleft
和Tright
使用关键变量。所有变量在两个表相同的名称是关键变量。外连接结合表行,关键变量匹配的值,但是它还包括行关键变量从一个输入表其他输入表中没有匹配。例如,如果Tleft
有变量命名Key1
和Var1
,Tright
有变量Key1
和Var2
,然后T = outerjoin (Tleft Tright)
使用Key1
作为一个关键变量。
匹配的关键变量的值在左和右表中没有相同的顺序。外部连接可以执行关键变量之间的一对多和多对一的比赛两个表。即一个值一旦发生在左边的一个关键变量表可以有多个匹配正确的表。同样,一旦发生在一个关键变量的值正确的表可以有多个匹配在左表。
您可以执行外部连接只在特定的组合表和时间表。
如果
Tleft
是一个表,然后呢Tright
必须是一个表。outerjoin
返回T
作为一个表。如果
Tleft
是一个时间表,然后呢Tright
可以是一个表或一个时间表。outerjoin
返回T
作为一个时间表的输入组合。
行标签的向量Tleft
和Tright
可关键变量。行标签是一个表的行名称,或行乘以一个时间表。
例子
外连接操作的表和一个变量共同之处
创建一个表,Tleft
。
Tleft =表([5;12;23;2,15;6),…{“麦片”;“披萨”;“鲑鱼”;“奥利奥”;“龙虾”;“披萨”},…“VariableNames”,{“年龄”,“FavoriteFood”},…“RowNames”,{“艾米”,“鲍比”,“冬青”,“哈利”,“马蒂”,“莎莉”})
Tleft =6×2表年龄FavoriteFood ___ _______艾米5{“麦片”}鲍比12{“披萨”}冬青23哈利2{“鲑鱼”}{“奥利奥”}马蒂15{“龙虾”}莎莉6{'披萨'}
创建一个表,Tright
,有一个共同的变量Tleft
,被称为FavoriteFood
。
({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 - '}
使用outerjoin
函数来创建一个新表,T
,数据表Tleft
和Tright
。
T = outerjoin (Tleft Tright)
T =7×5表年龄FavoriteFood_Tleft FavoriteFood_Tright卡路里NutritionGrade ___ _____________南___________________ ________ * * * {0 x0 char}{‘蛋糕’}243 {' C -}{“麦片”}{“麦片”}110{“-”}15{“龙虾”}{0 x0 char}南{0 x0 char} 2{“奥利奥”}{“奥利奥”}160 {' D '}{“披萨”}{“披萨”}140 {B}{“披萨”}{“披萨”}140 {B} 23{“鲑鱼”}{“鲑鱼”}367 {B}
表T
包含一个单独的变量的关键变量Tleft
,被称为FavoriteFood_Tleft
和的关键变量Tright
,被称为FavoriteFood_Tright
。
合并关键变量对单变量
创建一个表,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
表之间的Tleft
和Tright
,但也包含值的行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
使用outerjoin
函数来创建一个新表,T
,数据表Tleft
和Tright
。合并的关键值到一个变量输出表中,T
。
T = outerjoin (Tleft Tright,“MergeKeys”,真正的)
T =6×3表Key1 Var1 Var2 _____ _____ _____ {a} {b} 1 4 2 5 {' c '} 3南{' d '}南6 {“e”} 11 7 {' h '} 17 NaN
变量在表T
来自Tleft
包含null值不匹配的行Tright
。同样,变量T
来自Tright
包含null值在那些从没有匹配的行Tleft
。
外连接操作的表和索引值
创建一个表,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
表之间的Tleft
和Tright
,但也包含值的行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
使用outerjoin
函数来创建一个新表,T
,数据表Tleft
和Tright
。匹配行关键变量的共同的价值观,Key1
,但也保留键值没有匹配的行。
同时,回报指数向量,ileft
和iright
指示行之间的对应关系T
和行Tleft
和Tright
分别。
[T ileft iright] = outerjoin (Tleft Tright)
T =6×4表Key1_Tleft Var1 Key1_Tright Var2 __________ ___________上{a} 1 {a} 4 {b} 2 {b} 5 {' c '} 3 {0 x0 char}南{0 x0 char}南6 {' d '} {“e”} 11 {“e”} 7 {' h '} 17 {0 x0 char} NaN
ileft =6×10 1 2 3 4 5
iright =6×11 2 3 0 4 0
索引向量ileft
和iright
包含0指示表中的行T
不对应表中的行Tleft
或Tright
,分别。
左外连接操作的表和索引值
创建一个表,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
表之间的Tleft
和Tright
,但也包含值的行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
使用outerjoin
函数来创建一个新表,T
,数据表Tleft
和Tright
。忽视行Tright
的键值不匹配行吗Tleft
。
同时,回报指数向量,ileft
和iright
指示行之间的对应关系T
和行Tleft
和Tright
分别。
[T ileft iright] = outerjoin (Tleft Tright,“类型”,“左”)
T =5×4表Key1_Tleft Var1 Key1_Tright Var2 __________ ___________上{a} 1 {a} 4 {b} 2 {b} 5 {' c '} 3 {0 x0 char}南11 {“e”} {“e”} 7 {' h '} 17 {0 x0 char} NaN
ileft =5×11 2 3 4 5
iright =5×11 2 0 4 0
所有的值ileft
非零表示都是行吗T
有相应的行Tleft
。
外连接操作的时间表
创建两个时间表,Tleft
和Tright
。他们有一些行乘以共同点,但每个还包括行乘以没有时间表。
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
结合Tleft
和Tright
外连接。T1
与常见的行乘以匹配的行,但也包括没有匹配的行。
T1 = outerjoin (Tleft Tright)
T1 =5×2时间表时间Var1_Tleft Var1_Tright _____ __________⒈1秒1南2秒2 4 4秒3 5 6秒11 6 7秒南7
结合Tleft
和Tright
,但忽视行Tright
行乘以不匹配的行次吗Tleft
。
T2 = outerjoin (Tleft Tright,“类型”,“左”)
T2 =4×2时间表时间Var1_Tleft Var1_Tright _____ __________⒈1秒1南2秒2 4 4秒3 5 6秒11 6
输入参数
Tleft
- - - - - -左表
表|时间表
左表,指定为一个表或一个时间表。
Tright
- - - - - -正确的表
表|时间表
正确的表,指定为一个表或一个时间表。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:“钥匙”,2
使用第二个变量Tleft
第二个变量Tright
作为关键变量。
键
- - - - - -变量作为键
正整数|向量的正整数|字符串数组|特征向量|单元阵列的特征向量|模式
标量|逻辑向量
变量作为键指定为逗号分隔组成的“钥匙”
一个正整数,向量的正整数,字符串数组,特征向量,单元阵列的特征向量,模式
标量,或逻辑向量。
你不能使用“钥匙”
名称-值对论点的“LeftKeys”
和“RightKeys”
名称-值对参数。
一个向量的行标签可以是一个关键,单独或结合其他关键变量。有关更多信息,请参见提示部分。
例子:“钥匙”,[1 3]
使用第一个和第三个变量Tleft
和Tright
作为关键变量。
例子:“钥匙”,{' X ', ' Y '}
使用的变量命名X
和Y
在Tleft
和Tright
作为关键变量。
例子:“钥匙”,“行”
使用行名称的向量Tleft
和Tright
关键变量,如果两个Tleft
和Tright
表有行名称。
LeftKeys
- - - - - -变量作为键Tleft
正整数|向量的正整数|字符串数组|特征向量|单元阵列的特征向量|模式
标量|逻辑向量
RightKeys
- - - - - -变量作为键Tright
正整数|向量的正整数|字符串数组|特征向量|单元阵列的特征向量|模式
标量|逻辑向量
MergeKeys
- - - - - -合并键标志
假
(默认)|真正的
|0
|1
合并钥匙标志,指定为逗号分隔组成的“MergeKeys”
,要么假
,真正的
,0
或1
。
|
这种行为是默认的行为。 |
|
|
LeftVariables
- - - - - -变量Tleft
包括在T
正整数|向量的正整数|字符串数组|特征向量|单元阵列的特征向量|模式
标量|逻辑向量
变量Tleft
包括在T
,指定为逗号分隔两人组成的“LeftVariables”
一个正整数,向量的正整数,字符串数组,特征向量,单元阵列的特征向量,模式
标量,或逻辑向量。
您可以使用“LeftVariables”
包括或排除关键变量以及nonkey从输出变量,T
。
默认情况下,outerjoin
包括所有的变量Tleft
。
RightVariables
- - - - - -变量Tright
包括在T
正整数|向量的正整数|字符串数组|特征向量|单元阵列的特征向量|模式
标量|逻辑向量
变量Tright
包括在T
,指定为逗号分隔两人组成的“RightVariables”
一个正整数,向量的正整数,字符串数组,特征向量,单元阵列的特征向量,模式
标量,或逻辑向量。
您可以使用“RightVariables”
包括或排除关键变量以及nonkey从输出变量,T
。
默认情况下,outerjoin
包括所有的变量Tright
。
类型
- - - - - -类型的外部连接操作
“全部”
(默认)|“左”
|“对”
类型的外部连接操作,指定为逗号分隔组成的“类型”
,要么“全部”
(即全外连接),“左”
(左外连接),或“对”
(右外连接)。
全外连接的输入
Tleft
和Tright
,输出T
结合所有行输入,用缺失值填补空表元素。左外连接,输出
T
包括所有的行Tleft
,但不包括行Tright
的键值不匹配的任何键值吗Tleft
。右外连接,
T
包括所有的行Tright
,但不包括行Tleft
的键值不匹配的任何键值吗Tright
。
默认情况下,outerjoin
做一个完整的外连接,包括从无与伦比的行Tleft
和Tright
。
输出参数
T
——外连接Tleft
和Tright
表
外连接的Tleft
和Tright
,作为一个表返回。输出表,T
,包含一个行中每一对行的表Tleft
和Tright
共享相同的键值的组合。如果Tleft
和Tright
包含同名的变量,outerjoin
增加了一个独特的后缀中相应的变量名T
。变量T
来自Tleft
包含null值在那些从没有匹配的行Tright
。同样,变量T
来自Tright
包含null值在那些从没有匹配的行Tleft
。
一般来说,如果有米
行表Tleft
和n
行表Tright
所有包含相同的关键变量中的值,表T
包含m * n
行组合。T
还包含行对应一个输入表中的键值组合不匹配任何其他输入表行。
T
包含的水平连接Tleft (ileft LeftVars)
和Tright (iright RightVars)
按关键变量中的值排序。默认情况下,LeftVars
包括所有的变量Tleft
,RightVars
包括所有的变量Tright
。否则,LeftVars
由指定的变量“LeftVariables”
名称-值对的观点,RightVars
由指定的变量“RightVariables”
名称-值对的论点。
您可以储存额外的元数据,如描述、变量单位,表中的变量名和行名称。有关更多信息,请参见属性的部分表
。
ileft
——指数Tleft
列向量
索引Tleft
,作为一个列向量返回。的每个元素ileft
标识表中的行Tleft
输出表中对应于这一行,T
。向量ileft
包含行0来表示T
不对应于行Tleft
。
iright
——指数Tright
列向量
索引Tright
,作为一个列向量返回。的每个元素iright
标识表中的行Tright
输出表中对应于这一行,T
。向量iright
包含行0来表示T
不对应于行Tright
。
更多关于
关键变量
变量用于匹配和组合之间的数据输入表,Tleft
和Tright
。
提示
表标签从输入向量的行或时间表可以是一个关键,单独或结合其他关键变量。行标签是一个表的行名称或行乘以一个时间表。使用这个向量作为一个关键,指定它
“行”
(一个表的行名称),正如它的名字行乘以一个时间表向量,或作为的价值
,在那里T
.Properties.DimensionNames {1}
是表或时间表。T
一般来说,
outerjoin
行标签从输入表副本Tleft
输出表T
。如果
Tleft
没有行标签呢T
没有行标签。如果
Tleft
行标签,然后outerjoin
行标签副本从Tleft
创建行标签T
。如果指定两行标签
Tleft
和Tright
作为一个密钥对outerjoin
合并行标签从Tright
到行标签T
在需要的地方。如果你指定的行标签
Tleft
作为一个关键,但没有指定的行标签Tright
作为匹配的关键outerjoin
创建默认行标签T
在需要的地方。如果两个
Tleft
和Tright
表,但你没有指定名称作为键,输入表的行吗outerjoin
不创建行名称T
。
你不能执行外连接使用的行标签
Tleft
左边的键和一个变量Tright
正确的关键。执行外连接,转换的行标签Tleft
表变量和使用新表变量作为一个关键。
扩展功能
高大的数组
计算和数组的行比装入内存。
使用笔记和限制:
这些名称的值参数不支持模式表达式:金宝app
“钥匙”
“LeftKeys”
“RightKeys”
“LeftVariables”
“RightVariables”
有关更多信息,请参见高大的数组。
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
输入表不能用相同的名称,除非有关键变量的值
“MergeKeys”
是真正的
(逻辑1
)。一般来说,输入表不能有任何nonkey变量有相同的名称。然而,你可以加入如果指定输入表的子集
“LeftVariables”
和“RightVariables”
名称-值参数。指定这些参数都不出现变量名“LeftVariables”
和“RightVariables”
。这些名称-值参数的值必须是常数:
“钥匙”
“LeftKeys”
“RightKeys”
“MergeKeys”
“LeftVariables”
“RightVariables”
“类型”
这些名称的值参数不支持模式表达式:金宝app
“钥匙”
“LeftKeys”
“RightKeys”
“LeftVariables”
“RightVariables”
不支持嵌套表和时间表。金宝app
版本历史
介绍了R2013b
Beispiel offnen
您有一张这本Beispiels geanderte版本。您这本Beispiel麻省理工学院古老Anderungen offnen吗?
MATLAB-Befehl
您有窗户的链接geklickt,汪汪汪der diesem MATLAB-Befehl entspricht:
在das MATLAB-Befehlsfenster Fuhren您窝Befehl军队Eingabe来自。浏览器unterstutzen MATLAB-Befehle。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。