Oracle 常用连接查询方法和函数

php中文网
发布: 2016-06-07 17:21:35
原创
1376人浏览过

Oracle常用的连接查询方法(以oracle自带的表做的练习),left join是以左表的记录为基础的,左表中的记录会全部显示,右表只显

一:oracle常用的连接查询方法(以oracle自带的表做的练习)

1、左外连接(left outer join/left join)

left  join是以左表的记录为基础的,左表中的记录会全部显示,右表只显示符合查询条件的记录。右表不足的地方用null填充。

例如:select * from emp t1 left join dept t2 on t1.deptno=t2.deptno;

左外连接可以用(+)来实现,,哪一个表后面有‘(+)’表示这张表是匹配表,用‘(+)’就用关键字where

例如:select * from emp t1 left join dept t2 on t1.deptno=t2.deptno;

2、右外连接(right outer join/right join)

right join 是以右表的记录为基础的,右表的记录会全部显示,左表只显示符合查询条件的记录,左表不足的地方用null填充。

例如:select * from emp t1 left join dept t2 on t1.deptno=t2.deptno;

右外连接可以用‘(+)’实现,用‘(+)’要用where关键字。

左/右外连接的两种方式的区别:用‘(+)’实现,左/右表为全表扫描,右/左表为索引扫描。用另外一种方式为两个表都是全表扫描。

3、全外连接(full outer join/full join)

左表和右表都不做限制,所有记录都显示,两表不足的地方用null填充。全外连接不支持(+)这种写法。

例如:select * from dave a full join bl b on a.id = b.id;

蓝心千询
蓝心千询

蓝心千询是vivo推出的一个多功能AI智能助手

蓝心千询 34
查看详情 蓝心千询

4、自连接

自连接是sql语句中经常用到的连接方式,使用自连接可以将自身表的一个镜像当作另外一个表来对待,从而能够得到一些特殊的数据。

例如:查询emp表的员工的姓名和员工的经理的姓名

select t1.ename "员工",'的',t2.ename "经理" from emp t1,emp t2 where t1.mgr=t2.empno;

5、自然连接

自然连接是在两张表中寻找那些类名和列名都相同的字段,然后自动地将他们连接起来,并返回所有符合条件的结果。

例如:select deptno from emp  natural join dept  ;

这里并没有指定连接的条件,实际上 oracle 为我们只做主张的将 emp表中的deptno字段与dept表中的deptno字段进行了连接。也就是相当于:

select deptno from emp t1 natural join dept t2 ;

6、内连接 (inner join/join)

inner join返回满足第一个(顶端)输入与第二个(底端)输入联接的每一行。这个和select查询多表的效果一样,所以内链接用的很少。

select t1.ename from emp t1 inner join dept t2 on t1.deptno=t2.deptno;

linux

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号