1、相等连接 通过两个表具有相同意义的列,可以建立相等连接条件。 只有连接列上在两个表中都出现且值相等的行才会出现在查询结果中。 例 查询员工信息以及对应的员工所在的部门信息; SELECT * FROM EMP,DEPT; SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO; REM 显示工资超过2000的员工信息以及对应的员工的部门名称。
2、外连接 对于外连接,Oracle中可以使用“(+)”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN,下面将配合实例一一介绍。除了显示匹配相等连接条件的信息之外,还显示无法匹配相等连接条件的某个表的信息。 外连接采用(+)来识别。 A) 左条件(+) = 右条件; 代表除了显示匹配相等连接条件的信息之外,还显示右条件所在的表中无法匹配相等连接条件的信息。 此时也称为"右外连接".另一种表示方法是: SELECT ... FROM 表1 RIGHT OUTER JOIN 表2 ON 连接条件 B) 左条件 = 右条件(+); 代表除了显示匹配相等连接条件的信息之外,还显示左条件所在的表中无法匹配相等连接条件的信息。 此时也称为"左外连接". SELECT ... FROM 表1 LEFT OUTER JOIN 表2 ON 连接条件 例 显示员工信息以及所对应的部门信息 --无法显示没有部门的员工信息 --无法显示没有员工的部门信息 --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、不等连接 两个表中的相关的两列进行不等连接,比较符号一般为>,