Oracle数据库中表的四种连接方式讲解

发表于:2009-6-30 10:18

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

分享:

  表的连接是指在一个SQL语句中通过表与表之间的关连,从一个或多个表中检索相关的数据,大体上表与表之间的连接主要可分四种,分别为相等连接,外连接,不等连接和自连接。

  --SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO;

  --直接做相等连接:

  SELECT * FROM EMP JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO;

  REM 显示员工信息以及所对应的部门信息,显示没有员工的部门信息

  --SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO(+) = DEPT.DEPTNO;

  SELECT * FROM EMP RIGHT OUTER JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO;

  REM 显示员工信息以及所对应的部门信息,显示没有部门的员工信息

  --SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO(+);

  SELECT * FROM EMP LEFT OUTER JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO;

  3. 不等连接

  两个表中的相关的两列进行不等连接,比较符号一般为>,<,...,BETWEEN.. AND..

  REM SALGRADE

  --DESC SALGRADE;

  --SELECT * FROM SALGRADE;

  REM 显示员工的编号,姓名,工资,以及工资所对应的级别。

  SELECT EMPNO,ENAME,SAL,SALGRADE.* FROM SALGRADE,EMP

  WHERE EMP.SAL BETWEEN LOSAL AND HISAL;

  REM 显示雇员的编号,姓名,工资,工资级别,所在部门的名称;

  SELECT EMPNO,ENAME,SAL,GRADE,DNAME FROM EMP,DEPT,SALGRADE

  WHERE EMP.DEPTNO = DEPT.DEPTNO AND EMP.SAL BETWEEN LOSAL AND HISAL;

  4. 自连接

  自连接是数据库中经常要用的连接方式,使用自连接可以将自身表的一个镜像当作另一个表来对待,从而能够得到一些特殊的数据。下面介绍一下自连接的方法:

  将原表复制一份作为另一个表,两表做笛卡儿相等连接。

  例 显示雇员的编号,名称,以及该雇员的经理名称

  SELECT WORKER.ENAME,WORKER.MGR,MANAGER.EMPNO,MANAGER.ENAME FROM EMP WORKER,EMP MANAGER

  WHERE WORKER.MGR = MANAGER.EMPNO;

 

22/2<12
重磅发布,2022软件测试行业现状调查报告~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海漕溪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号