ORACLE SQL 多表查询

连表询是多表连接来进行查询这个功能多用于多表的信息操作。可以使用等值和不等值连接在SELECT 语句中查询多个表中的数据,也可以使用自连接,还可以使用外连接查询不满足连接条件的数据。
连表也不能乱连,如果连接的条件是无效的,我们所有连接的表都会一起交互连接从而产生笛卡尔集。为了避免这个,我们可以在where加上有效的条件。
在这里插入图片描述

oracle中的各种连接(join):内连接、外连接、自然连接、自连接、交叉连接。
内连接(inner join)就是将根据检索条件将满足条件的数据选择出来,oracle首先用第一张表的第一条数据去扫描另一张表的所有数据,如果遇到符合条件的数据就加入到结果集中。直到检索完第二张表的所有数据。然后用第一张表的第二条数据,重复刚才的动作,直到以第一张的最后一条数据。oracle中默认的连接是内连接。
在这里插入图片描述

外连接(outer join)是根据需要将表中某些不符合选择条件的数据也列举出来。
在这里插入图片描述

自然连接(natural join)是由oracle自行决定哪些列作为连接的条件。Oracle是这么确定的:将不同表中的那些具有相同名称和数据类型的字段用相等的条件连接起来。
在这里插入图片描述

自连接(self join)中,Oracle将一个表的一个镜像当作另一个表,你可以像使用两个表一样使用这一个表。
在这里插入图片描述

交叉连接(cross join)是两个表的笛卡尔积,即不做任何条件限制,他们的结果集的数据的条数是两个表的数据条数的乘积。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值