oracle如何把三张表关联起来?

oracle如何把三张表关联起来?,第1张

oracle中在WHERE条件里写输入:

select * from usermenu

left join sysuser on sysuser.yhdh=usermenu.yhdh

left join program on  program.cxdh=usermenu.cxdh

即可关联起来。

关联也分为好几种:

SELECT * FROM TABLE1 A,TABLE2 B,TABLE3 C WHERE A.FIELD_KEY=B.FIELD_KEY AND B.FIELD_KEY=C.FIELD_KEY (正常关联)

SELECT * FROM TABLE1 A,TABLE2 B,TABLE3 C WHERE A.FIELD_KEY=B.FIELD_KEY(+) AND B.FIELD_KEY=C.FIELD_KEY(+) (左关联)

SELECT * FROM TABLE1 A,TABLE2 B,TABLE3 C WHERE A.FIELD_KEY(+)=B.FIELD_KEY AND B.FIELD_KEY(+)=C.FIELD_KEY (右关联)

要把Oracle将三张表关联起来时可以使用Oracle Database的指令,也就是Oracle数据库的指令将其关联。

1、创建三张测试表;

createtabletest_a(aidint,anamevarchar(20))

createtabletest_b(bidint,bnamevarchar(20))

createtabletest_c(aidint,bidint,valuevarchar(20))

2、三张表中分别插入数据;

insertintotest_avalues(1,'aname1')

insertintotest_bvalues(2,'bname1')

insertintotest_cvalues(1,2,'cvalue')

3、查询表中记录;

select10,a.*fromtest_aa

unionall

select20,b.*fromtest_bb

unionall

select*fromtest_cc

4、编写sql,进行三表关联;

selecta.aname,b.bname,c.value

fromtest_ccjointest_aa

 onc.aid=a.aid

jointest_bb

 onc.bid=b.bid

数据库多表关联,一般采用外键比较方便,也可以额外建一个连接表做多表关联的连接,但这样稍微有点儿复杂,这些是建表方面的关联。查询关联,可以采用多表查询的方式关联查询,这点要求稍高点儿,但关联后再 *** 作单表时,别的表不用受太大的影响,这点特好


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

原文地址: https://outofmemory.cn/sjk/10772015.html

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

发表评论

登录后才能评论

评论列表(0条)

保存