IT_DBMS/MSSQL

[Transact-SQL] 외부조인(outer join) - Left Join

JJun ™ 2006. 3. 6. 23:09
 

외부 조인은 두 테이블에서 조인 조건이 일치하는 데이터만 가져오는 내부 조인과는 달리 조인되는 두 테이블간에 주종 관계를 설정해서 주 테이블의 모든 레코드와 부 테이블에서 조인 조건에 만족되는 레코드에서 데이터를 가져올 경우에 사용된다.

 

**외부조인**

특정 검색 조건을 만족하는 조인된 테이블의 모든 행을 포함하는 조인이다. 여기에는 다른 조인 테이블에 대응되는 행이 없는 행도 포함된다. 한 테이블의 행이 다른 테이블의 행에 대응되지 않을 때 반환된 결과 집합의 경우, 대응되지 않는 행을 갖고 있는 테이블로 확인된 모든 결과 집합 열에 대해 null값이 제공된다.

 

#외부 조인( outer join)이란?

-쿼리가 다른 테이블에 일치하는 행이 존재하는지의 여부에 상관없이 하나 이상의 테이블로부터 모든 행을 반환하기를 원할 경우 사용.

-한 테이블에 있는 레코드에 제한 조건을 가하지 않는 반면, 다른 테이블에 대해서는 레코드에 제한을 할 수 있음.

 

외부조인 구문

 

 

외부 조인의 구문을 보면 알 수 있듯이 외부 조인에는 left, right, full 등 세 가지 종류가 있다.
 
left join은 join절의 좌측 테이블로부터 모든 레코드를 반환하여 우측 테이블로부터는 조인 조건에 만족하는 레코드만을 반환한다.
 
#left join : 좌측 테이블의 모든 레코드를 포함.
 
왼쪽 외부조인
join 가장 왼쪽에 있는 테이블의 행이 모두 포함되는 외부 조인 유형이다. 왼쪽 테이블의 행이 오른쪽 테이블의 행에 대응되지 않으면 오른쪽 테이블의 모든 결과 집합 열에 null값이 할당된다.
 
새로운 쿼리 입력창 열기
select name, buy.quan_price from login left outer join buy 입력후 엔터
탭키 누르기 on login.buy = buy.quan_price 입력 후 엔터
실행아이콘 클릭

 

내부 조인에서는 두 테이블의 조인 조건이 일치하는 데이터만을 가져오는 반면, 외부 조인의 left join은 login테이블의 모든 레코드와 buy테이블에서 조인 조건을 만족하는 레코드에서 지정한 필드값을 가져오는 것을 확인할 수 있다.