首页 > 数据库技术 > 详细

Oracle学习记录 八 多表查询

时间:2015-03-05 19:39:47      阅读:300      评论:0      收藏:0      [点我收藏+]

1. 笛卡尔集

select * from emp, dept;

2. 等值连接

select ename, job from emp, dept

where emp.deptno=dept.deptno;

3. 非等值连接

select ename, grade from emp, salgrade

where sal between losal and hisal;

这个其实我不太明白到底是怎么弄的。前面的两种都容易理解,这个难道是

拿一个sal就去salgrade中找在哪个范围?

4. 自连接

select t1.empno, t1.ename, t2.empno, t2.ename

from emp t1, emp t2

where t1.mgr=t2.empno;

5. 左外连接

select t1.empno, t1.ename, t2.dname

from emp t1, dept t2

where t1.deptno=t2.deptno(+);

select empno, ename, dname

from emp left outer join dept on emp.deptno=dept.deptno;

http://www.tuicool.com/articles/eQ3uiu

这篇文章介绍的还是挺详细的,基本上明白这些连接是怎么个意思了。

6. 右外连接

select t1.empno, t1.ename, t2.dname

from emp t1, dept t2

where t1.deptno(+)=t2.deptno;

select empno, ename, dname

from emp right outer join dept on emp.deptno=dept.deptno;

7. 满外连接

select empno, ename, dname

from emp full outer join dept on emp.deptno=dept.deptno;







Oracle学习记录 八 多表查询

原文:http://my.oschina.net/bxxfighting/blog/383122

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!