ORACLE 各种连表方式查询

开发工具与关键技术:Oracle sql*plus PLSQL Developer
作者:华境聪
撰写时间:2019年04月02日

话不多说直入正题

SELECT *
FROM a
join b on a.id = b.id;//SQL语法表的内连接方式;

SELECT *
FROM a
left join b on a.id = b.id;//SQL语法表的左外连接方式;以左表为主表的右表为辅表,查询主表的全部字段;

SELECT *
FROM a
Right join b on a.id = b.id;//SQL语法表的右外连接方式;以左表为主表的右表为辅表,查询主表的全部字段;

SELECT *
FROM a b, a c
WHERE b.id = c.id ;
//Oracle语法表的自连接方式;在一个表中查询两个具有一定条件的字段进行过滤,筛选

SELECT *
FROM a
Full Outer Join b
ON (a.id = b.id) ;-//SQL语法表的满外连接方式;也就是左外和右外连接的并集
例如查询 成绩表和学生表的全部信息,如下所示
select *
from sc
Full Outer Join student on sc.sno = student.sno
在这里插入图片描述
SELECT city
FROM a
NATURAL JOIN b;
// Oracle语法表的自然连接方式;在两个表中查询两个具有相同的字段进行连接,筛选
如果两个表中具有两个以上的相同字段,查询出来的数据有可能就不是你想要的数据了,这是要注意的地方
例如查询学生的选课请况,如下所示
select sno,cno
from sc
NATURAL JOIN student
在这里插入图片描述
在这里推荐用SQL 1999语法去做连表查询相关业务,因为这种语法适用大多数数据库中使用,而Oracle语法仅局限于该数据库的使用范围;用到的方法都不难理解,稍花时间即可消化。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值