sqlouterjoin
两个PostgreSQL数据库表之间的外部连接
语法
描述
返回由左右数据库表之间的外部连接产生的表。此函数使用两个数据库表中的所有共享列或键匹配行。外部连接保留两个表之间已匹配和未匹配的行。执行这个函数等同于编写SQL语句数据
= sqlouterjoin (康涅狄格州
,lefttable
,righttable
)SELECT * FROM lefttable, rightttable OUTER JOIN left ttable。Key = rightable . Key
.
例子
使用PostgreSQL本地接口连接两个数据库表
使用PostgreSQL本机接口数据库连接将产品数据从两个PostgreSQL数据库表之间的外部连接导入到MATLAB®。
使用数据源名称、用户名和密码创建到PostgreSQL数据库的PostgreSQL本机接口数据库连接。数据库包含表productTable
而且供应商
.
数据源=“PostgreSQLDataSource”;用户名=“dbdev”;密码=“matlab”;Conn = postgresql(数据源,用户名,密码);
连接两个数据库表,productTable
而且供应商
.的productTable
表是连接的左表,而供应商
表是连接的右表。的sqlouterjoin
函数自动检测表之间的共享列。的sqlouterjoin
函数自动检测表之间的共享列。数据
是一个表,其中包含来自两个表的匹配行和不匹配行。
lefttable =“productTable”;righttable =“供应商”;Data = sqlouterjoin(conn,left ttable,right ttable);
显示联接数据的前三行。右表中的列(供应商
)出现在左表列的右侧(productTable
).
头(数据,3)
ans =表3×10productnumber stocknumber suppliernumber unitcost productdescription suppliernumber_1 suppliername faxnumber城市国家 _____________ ___________ ______________ ________ __________________ ________________ _________________ __________ ________________ ______________ 1 4.0035 e + 05 1001 14“积木”1001“神奇产品”“纽约”“美国”“212 435 1617”22022世界杯八强谁会赢? 4.0031 e + 05 1002 9“绘画”1002“很棒的玩具”“伦敦”“联合王国”“44 456 9345 3 4.01 e + 05 1009 17“紧身”1009“Doll’s Galore”“伦敦”“英国”“44 222 2397”
关闭数据库连接。
关上(康涅狄格州)
指定连接两个数据库表的Key
使用PostgreSQL本地接口数据库连接,从两个PostgreSQL数据库表导入连接的产品数据到MATLAB®。指定用于连接表的键。
使用数据源名称、用户名和密码创建到PostgreSQL数据库的PostgreSQL本机接口数据库连接。数据库包含表productTable
而且供应商
.
数据源=“PostgreSQLDataSource”;用户名=“dbdev”;密码=“matlab”;Conn = postgresql(数据源,用户名,密码);
连接两个数据库表,productTable
而且供应商
.的productTable
表是连接的左表,而供应商
表是连接的右表。方法在表之间指定键或共享列“钥匙”
名称-值对参数。数据
是一个表,其中包含来自两个表的匹配行和不匹配行。
lefttable =“productTable”;righttable =“供应商”;Data = sqlouterjoin(conn,lefttable, rightttable,“钥匙”,“supplierNumber”);
显示匹配数据的前三行。右表中的列(供应商
)出现在左表列的右侧(productTable
).
头(数据,3)
ans =表3×10productnumber stocknumber suppliernumber unitcost productdescription suppliernumber_1 suppliername faxnumber城市国家 _____________ ___________ ______________ ________ __________________ ________________ _________________ __________ ________________ ______________ 1 4.0035 e + 05 1001 14“积木”1001“神奇产品”“纽约”“美国”“212 435 1617”22022世界杯八强谁会赢? 4.0031 e + 05 1002 9“绘画”1002“很棒的玩具”“伦敦”“联合王国”“44 456 9345 3 4.01 e + 05 1009 17“紧身”1009“Doll’s Galore”“伦敦”“英国”“44 222 2397”
关闭数据库连接。
关上(康涅狄格州)
输入参数
康涅狄格州
- - - - - -PostgreSQL本地接口数据库连接
连接
对象
PostgreSQL本地接口数据库连接,指定为连接
对象。
lefttable
- - - - - -左表
特征向量|字符串标量
左表,指定为字符向量或字符串标量。在连接的左侧指定数据库表的名称。
例子:“inventoryTable”
数据类型:字符
|字符串
righttable
- - - - - -正确的表
特征向量|字符串标量
右表,指定为字符向量或字符串标量。在连接的右侧指定数据库表的名称。
例子:“productTable”
数据类型:字符
|字符串
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:data = sqlouterjoin(conn,"productTable","suppliers", " Type "," left "," MaxRows ", 5)
在左表和右表之间执行外部左连接,并返回连接数据的五行。
LeftCatalog
- - - - - -左边目录
特征向量|字符串标量
左目录,指定为逗号分隔的对,由“LeftCatalog”
和字符向量或字符串标量。指定存储连接左表的数据库编目名称。
例子:“LeftCatalog”、“toy_store”
数据类型:字符
|字符串
RightCatalog
- - - - - -正确的目录
特征向量|字符串标量
右目录,指定为逗号分隔的对,由“RightCatalog”
和字符向量或字符串标量。指定存储连接的正确表的数据库编目名称。
例子:“RightCatalog”、“toy_store”
数据类型:字符
|字符串
LeftSchema
- - - - - -离开模式
特征向量|字符串标量
左模式,指定为逗号分隔的对,由“LeftSchema”
和字符向量或字符串标量。指定存储连接左表的数据库模式名称。
例子:“LeftSchema”、“dbo”
数据类型:字符
|字符串
RightSchema
- - - - - -正确的模式
特征向量|字符串标量
右模式,指定为逗号分隔的对,由“RightSchema”
和字符向量或字符串标量。指定存储连接的右表的数据库模式名称。
例子:“RightSchema”、“dbo”
数据类型:字符
|字符串
键
- - - - - -键
特征向量|字符串标量|字符向量的单元格数组|字符串数组
键,指定为逗号分隔的对,由“钥匙”
以及字符向量、字符串标量、字符向量的单元格数组或字符串数组。指定字符向量或字符串标量来表示一个键。对于多个键,请指定字符向量的单元格数组或字符串数组。使用此名称-值对参数标识要连接的两个表之间的共享键(列)。
方法不能使用此名称-值对参数“LeftKeys”
而且“RightKeys”
名称-值对参数。
例子:“钥匙”、“MANAGER_ID”
数据类型:字符
|字符串
|细胞
LeftKeys
- - - - - -离开了钥匙
特征向量|字符串标量|字符向量的单元格数组|字符串数组
左键,指定为逗号分隔的对,由“LeftKeys”
以及字符向量、字符串标量、字符向量的单元格数组或字符串数组。指定字符向量或字符串标量来表示一个键。对于多个键,请指定字符向量的单元格数组或字符串数组。此名称-值对参数标识左表中连接到右表的键。
方法使用此名称-值对参数“RightKeys”
名称-值对参数。两个参数必须指定相同数量的键。的sqlouterjoin
函数根据键的顺序对键的值。
例子:'LeftKeys',["productNumber" "Price"],'RightKeys',["productNumber" "Price"]
数据类型:字符
|字符串
|细胞
RightKeys
- - - - - -正确的钥匙
特征向量|字符串标量|字符向量的单元格数组|字符串数组
右键,指定为逗号分隔的一对,由“RightKeys”
以及字符向量、字符串标量、字符向量的单元格数组或字符串数组。指定字符向量或字符串标量来表示一个键。对于多个键,请指定字符向量的单元格数组或字符串数组。此名称-值对参数为连接到左表标识右表中的键。
方法使用此名称-值对参数“LeftKeys”
名称-值对参数。两个参数必须指定相同数量的键。的sqlouterjoin
函数根据键的顺序对键的值。
例子:'LeftKeys',["productIdentifier" "Cost"],'RightKeys',["productNumber" "Price"]
数据类型:字符
|字符串
|细胞
MaxRows
- - - - - -返回的最大行数
正数值标量
返回的最大行数,指定为逗号分隔的对,由“MaxRows”
和一个正的数值标量。默认情况下,sqlouterjoin
函数返回执行的SQL查询中的所有行。使用这个名称-值对参数来限制导入MATLAB的行数®.
例子:MaxRows, 10
数据类型:双
类型
- - - - - -外部连接类型
“全部”
(默认)|“左”
|“对”
外部连接类型,指定为逗号分隔的对,由“类型”
其中一个价值观是:
“全部”
—完全连接检索在两个表的选定列中具有匹配值的记录,以及从左右表中都具有不匹配值的记录。“左”
—左连接检索在两个表的选定列中具有匹配值的记录,而只从左表中检索不匹配的记录。“对”
—右连接检索在两个表的选定列中具有匹配值的记录,而只从右表中检索不匹配的记录。
可以将此值指定为字符向量或字符串标量。
例子:“类型”、“左派”
VariableNamingRule
- - - - - -变量命名规则
“保存”
(默认)|“修改”
变量命名规则,指定为逗号分隔的对,由“VariableNamingRule”
其中一个价值观是:
“保存”
时,保留大多数变量名sqlouterjoin
函数导入数据。详细信息请参见限制部分。“修改”
—删除变量名中的非ascii字符sqlouterjoin
函数导入数据。
例子:“VariableNamingRule”,“修改”
数据类型:字符串
输出参数
数据
—连接数据
表格
连接数据,作为表返回,其中包含由左右数据库表中的键匹配的行和保留的不匹配行。数据
还为左右表中的每一列包含一个变量。
默认情况下,变量数据类型为双
对于包含数字
数据库表中的数据类型。
如果列名在连接的数据库表之间共享且大小写相同,则sqlouterjoin
中对应的变量名添加唯一后缀数据
.
的变量数据
对应于左表中包含的列的零
在正确的数据库表中没有匹配的行时。类似地,对应于右表中列的变量包含零
左数据库表中没有匹配的行时的值。
导入数据时,sqlouterjoin
函数将每个列的数据类型从PostgreSQL数据库转换为MATLAB数据类型。此表将数据库列的数据类型映射到转换后的MATLAB数据类型。
PostgreSQL数据类型 | MATLAB数据类型 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
限制
名称-值对参数“VariableNamingRule”
当它被设置为该值时是否有这些限制“修改”
:
变量名
属性
,RowNames
,VariableNames
的保留标识符表格
数据类型。每个变量名的长度必须小于返回的数字
namelengthmax
.
版本历史
在R2020b中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。