oracle 4 : 连接查询

Posted 心高心低

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 4 : 连接查询相关的知识,希望对你有一定的参考价值。

连接查询: join

(1)等值连接: 通常用主外键连接

(2)非等值连接

     例

--统计每个人姓名。部门名,薪资,薪资级别
select ename,d.dname,e.sal,s.grade
from emp e,dept d,salgrade s
where e.sal between s.losal and s.hisal
and e.deptno = d.deptno

(3)内部连接 关键字 inner join on 想当于where

select *
from emp e
inner join dept d
on d.deptno = e.deptno

(4)外部连接   左右连

  左连接:left join 以左边表为主表

    右连接:

  全外连接 :把表中所有数据都显示出来,有关联的数据,使用关联条件拼接,没有数据的用null 填充  关键字: full outer join

(5)自身连接

  

--自身连接  查询员工的上级领导
select e1.ename,e1.job,e2.ename from emp e1,emp e2
where e1.mgr = e2.empno

(6)交叉连接,产生笛卡尔积

  

--交叉连接
select * from emp cross join dept

(6)自然连接  关键字 natural join

  根据同名列进行自动连接

  要求同名列的数据类型必须相同,长度必须相同,主外键必须一致

  相当于没有条件的等值连接

--自然连接
select * from emp 
natural join dept

(7)联合查询: 多个投影结果合并在一起  关键字 union all

  要求进行查询的结果的列数必须相同:

  对应的列的数据类型必须相同,长度口蹄疫不同

  union all 全部显示

  union 自动去除重复数据  

  

--联合查询
select empno, ename
from emp
union all
select deptno,dname from dept

 

去重关键字: distinct:

--查询都有哪些部门有员工,员工在哪些部门里
select distinct deptno from emp

 

 

 

 

 

 

 

 

 

以上是关于oracle 4 : 连接查询的主要内容,如果未能解决你的问题,请参考以下文章

oracle菜鸟学习之 自连接查询实验

oracle左连接查询和右连接查询随便举个例子谢谢!

续:纠正:ubuntu7.04可以安装,而且完美的安装 ! for《Oracle-10.2.0.1,打补丁10.2.0.5:在 debian 版本4不含4以上,及 ubuntu 7.04不含(代码片段

Oracle查询多表连接

想做一个JAVA连接oracle的简单的用swing实现界面的对表单的增删改查的小实例。有人有相关代码吗。

oracle之连接查询和子查询