Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 常用连接查询方法和函数

一: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;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;
  • 1
  • 2
  • 下一页
MySQL insert性能优化笔记Linux下新建Oracle数据库实例相关资讯      Oracle函数 
  • Oracle字符串函数总结  (06月20日)
  • Oracle lag()与lead() 函数  (12/01/2015 20:41:24)
  • Oracle ascii函数  (07/26/2015 08:46:01)
  • Oracle使用简单函数  (06月09日)
  • REGEXP_SUBSTR函数的整理  (08/20/2015 20:41:01)
  • Oracle dump函数  (07/26/2015 08:40:01)
本文评论 查看全部评论 (0)
表情: 姓名: 字数