Oracle数据库的连接查询


准备表

Employee表:

  1. EMPL EMPLOYEE_NAME        DEPARTMENT_ID   
  2. ---- -------------------- -------------   
  3. 1001 jack                             1  
  4. 1002 tom                             2  
  5. 1003 smith                            2  
  6. 1004 rose                             3  
Department表:
  1. DEPARTMENT_ID DEPARTMENT_NAME      DEPARTMENT_LOCATION   
  2. ------------- -------------------- -----------------------   
  3.             1 公寓1                ss   
  4.             2 公寓2                sa   
  5.             3 公寓3                sb   
  6.             4 公寓4                sv  
一、等值连接

         使用=进行条件连接的操作。

  1. SQL> select e.employee_name,e.department_id,d.department_name    
  2.   2    from employee e,department d   
  3.   3    where e.department_id=d.department_id;  
注意:当连接的表比较多时用别名。
  1. EMPLOYEE_NAME        DEPARTMENT_ID DEPARTMENT_NAME   
  2. -------------------- ------------- --------------------   
  3. jack                             1 公寓1  
  4. smith                            2 公寓2  
  5. tom                              2 公寓2  
  6. rose                             3 公寓3  

二、外连接

         外连接分为左外连接和右外连接。

         左连接以第一张表为基准,必须显示完该表的所有数据。 

 
  1. SQL> select e.employee_name,e.department_id,d.department_name    
  2.   2    from employee e,department d   
  3.   3    where e.department_id=d.department_id(+);   
  4.   
  5. EMPLOYEE_NAME        DEPARTMENT_ID DEPARTMENT_NAME   
  6. -------------------- ------------- --------------------   
  7. jack                             1 公寓1  
  8. smith                            2 公寓2  
  9. tom                              2 公寓2  
  10. rose                             3 公寓3  

右连接以第二张表为基准,必须显示完该表的所有数据。

  1. SQL> select e.employee_name,e.department_id,d.department_name    
  2.   2    from employee e,department d   
  3.   3    where e.department_id(+)=d.department_id;   
  4.   
  5. EMPLOYEE_NAME        DEPARTMENT_ID DEPARTMENT_NAME   
  6. -------------------- ------------- --------------------   
  7. jack                             1 公寓1  
  8. tom                              2 公寓2  
  9. smith                            2 公寓2  
  10. rose                             3 公寓3  
  11.                                    公寓4  

相关内容