oracle 数据库查询-关联查询-2


                                                          oracle 数据库查询-关联查询-2 

0、数据库查询

例如:

查询两个表中有一列相同的数据

select f.customerno,t.dstaddr,t.successflag,t.msginfo,t.delivertime from im_message_1787 t,msg_creditcardnotice f  where t.dstaddr=f.address


1、内联查询:

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

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

内联查询:

 就是把两个表中的 teller_id 的行拼成一行, 后者的效率即使用inner join 的效率会高一些


内联查询:

join或者 inner join 只返回两个表中符合要求的


2、左联查询:

left join 或者left outer join

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

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

3、右联查询

右联:right join, right outer join  显示右表中所有行

Select * from t1 right outer join t2 on t1.userid = t2.userid 

右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。


4、全联查询:

完整外部联接:full join 或 full outer join

这个方式会显示两边表中所有行

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

完整外部联接:full join 或 full outer join





  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangxiaoming

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值