码迷,mamicode.com
首页 > 数据库 > 详细

Oracle学习记录 八 多表查询

时间:2015-03-05 19:39:54      阅读:197      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!