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
数据库多表关联,一般采用外键比较方便,也可以额外建一个连接表做多表关联的连接,但这样稍微有点儿复杂,这些是建表方面的关联。查询关联,可以采用多表查询的方式关联查询,这点要求稍高点儿,但关联后再 *** 作单表时,别的表不用受太大的影响,这点特好。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)