13、Oracle:多表连接和临时表的使用

1.多张表格需要连接,这时候使用外/内连接即可

2.但是如果这些表格不是现成的,而是需要使用select语句到其他表格(非现成表格,需要用到其他表的联合)去找出满足要求的数据组成表格,这个时候就涉及到多个层次的表的连接,此时一般使用临时表来节省空间(因为查询可能只进行一次)

3.select a.*,b.cnt,c.cnt from T1 a

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

left join T3 c on c.id = a.id

这里,a表作为主表,是有需要全部显示的属性的表格

4.若是b表和c表都不是现成的,需要使用select语句选出结果集作为表格,则使用临时表

with tmp1 as( ...),tmp2 as(...),tmp3 as(...)

select a.*,b.*,c.* from tmp1 a left join tmp2 b on b.id = a.id left join tmp3 c on c.id = a.id order by a.id

5.inner join和left join使用注意区分inner join必须是两张表格的比较属性完全相同才被选出来,不存在有空值出现的情况


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值