Oracle 表连接查询

Oracle 表连接查询主要分为3类:
□ NESTED LOOP:以遍历的方式将驱动表(Inner 小表)与基础班(Outer 大表)进行关联运算,将最终的结果集返回给用户;
□ HASH JOIN:适用于等值连接查询,主要规则如下:
- 在内存中构建小表匹配键(Key)的 Hash Table;
- 系统对大表匹配键(Key)进行 Hash 算法;
- 对大表匹配键 Hash 值与小表 Hash Table 中的匹配键进行匹配;
- 返回连接查询结果集(Data Rows)。
□ SORT MERGE:适用于两表无序的连接,需要先对两表进行排序操作,然后进行连接查询。
在介绍表连接查询之前,需要对基础环境进行准备,如下:

SQL> desc dept; Name Type Nullable Default Comments ------ ----------------- -------- ------- -------- DEPTNO NUMBER(2) DNAME VARCHAR2(14 BYTE) Y LOC VARCHAR2(13 BYTE) Y SQL> desc emp; Name Type Nullable Default Comments -------- ----------------- -------- ------- -------- EMPNO NUMBER(4) ENAME VARCHAR2(10 BYTE) Y JOB VARCHAR2(9 BYTE) Y MGR NUMBER(4) Y HIREDATE DATE Y SAL NUMBER(7,2) Y COMM NUMBER(7,2) Y DEPTNO NUMBER(2) Y SQL> select count(*) from emp; COUNT(*) ---------- 14 SQL> select count(*) from dept; COUNT(*) ---------- 4