oracle数据库中两张表分别在两个数据库中怎么能建关联?

oracle数据库中两张表分别在两个数据库中怎么能建关联?,第1张

create public batabase link a_to_b\x0d\x0aconnect to (被 *** 作表所在库的用户名) identified by (被 *** 作表所在库的密码)\x0d\x0ausing ‘(被 *** 作表所属实例名)’\x0d\x0a然后在 *** 作实例中进行测试:\x0d\x0aselect 1 from dual@a_to_b\x0d\x0a如果有正确结果 那么你就建立了一个dblink了。\x0d\x0a \x0d\x0a这个时候就可以 跨库查询了。

有两种办法:

第一种方法是通过外键:

假设有两张表,

A表(AId,AName) B(BId,BName)表 ,要想把这两者关联起来的话。可以通过外键来关联,在B表或者A表中添加一个外键。这里就以B表把B(BId,AId(外键),BName),这样通过外键两张表就可以联系起来了,例如我们在查询的时候通过AId就可以关联查询两张表的数据了。

第二种方法就是增加一张表:

还是拿A表(AId,AName) B(BId,BName)表来举例把,

我们可以增加个C表来联系AB表之间的关系

C表中只要放AB表的主键就行了

C(AId,BId),这样我们就可以通过C表来关联AB表了。

呵呵

跟my sql一样的关联,这些关联查询都是一样的,例如内联查询,左联查询

内联查询:

想把用户的积分信息, 等级,都列出来,一般会出现:

select * from emd_mteller t1,emd_mrole t2 where t1.teller_id = t2.teller_id

select * from emd_mteller t1 inner join emd_mrole t2 on t1.teller_id = t2.teller_id

左联查询:

left join 或者left outer join

返回左表中的所有行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值(null)。

Select * from t1 left outer join t3 on t1.userid = t2.userid


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6675748.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存