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 有关联

select *

from a left join b on a.id=b.id

left join c on b.id=c.id

2 无关联

select id

from a

union all

select id

from b

union all

select id

from c

其中:

inner join 只显示符合条件的数据行,此为默认的join方式,inner 可以省略;

left join 显示符全条件的数据行及左边数据表中不符合条件的数据行;

right join 显示符全条件的数据行及右边数据表中不符合条件的数据行;

full join 显示符全条件的数据行及左边和右边数据表中不符合条件的数据行;

cross join 直接将一个数据表的每一条数据行和另一个数据表的每一条数据行搭配成新的数据 行,不要on 来设置条件。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存