目录:
表之间的操作
熟悉SQL语言的读者对连接的概念应该不会陌生,连接就是把两个或者多个表按照一定的逻辑组合起来。MATLAB的table对象也支持表之间的连接运算,包括内连接,左右连接,全连接。为了节省篇幅,这节略去table对象的构造过程,直接介绍各种连接函数和连接的结果。(本节Employee和Department的例子参考了维基SQL条目)下例表Table.1和Table.2是要使用的原始数据:
Table.1 Employee表AEmployee
DepartmentID
Rafferty
31
Jones
33
Steinberg
33
Robinson
34
Smith
34
Jasper
35
Table.2 Employee表BDepartmentID
DepartmentName
31
Sales
32
Foundation
33
Engineering
34
HR
35
Marketing
Table.1中有员工的LastName和所在部门的号码,而表Table.2中有部门号码对应的名字,如果我们想知道每个员工所在部门的名字,要查两次表:首先从表Table.1得到某员工所在部门的号码,再通过这个号码去到表Table.2中去找到对应的名字,这样做不是很方便。
如果能把表Table.2和表Table.2中的DepartmentID“对上”,从而构造出一个有三列数据的新表,并且其中三列分别是LastName,DepartmentID,DepartmentName,那么就只用查一次表了,这个操作其实就是table的join操作。
% join
>> t1 = join(A,B) % join的第一个参数叫做左表,第二个参数叫做右表
t1 =
LastName DepartmentID DepartmentName
___________ ____________ ______________
'Rafferty' 31 'Sales'
'Jones' 33 'Engineering'
'Steinberg' 33 'Engineering'
'Robinson' 34 'HR'
'Smith' 34 'HR&#