1. LEFT OUTER JOIN(= LEFT JOIN)
LEFT OUTER JOIN 은 A테이블과 B테이블중 기준이 되는 테이블을 Left(왼쪽)에 두고 JOIN하는 명령.
Ex> A LEFT JOIN B ON 조건 ==> A라는 테이블의 전체 컬럼을 조회한후 B테이블의 컬럼을 JOIN함.
ON조건은 B테이블을 JOIN하는 조건
------------------------------------------------------------------------
Ex> A 테이블
지역명 | 책상수량 |
가 | 30 |
나 | 20 |
다 | 40 |
라 | 50 |
마 | 100 |
B 테이블
지역명 | 의자수량 |
가 | 30 |
나 | 70 |
다 | 80 |
마 | 20 |
바 | 200 |
사 | 150 |
------------------------------------------------------------------
SELECT A.지역명, A.책상수량, B.지역명, B.의자수량
FROM @ATable AS A
LEFT JOIN @BTable AS B ON(A.지역명 = B.지역명)
지역명 | 책상수량 | 지역명 | 의자수량 |
가 | 30 | 가 | 30 |
나 | 20 | 나 | 70 |
다 | 40 | 다 | 80 |
라 | 50 | Null | Null |
마 | 100 | 마 | 20 |
A테이블의 전체 데이터출력후,
ON조건인 A.지역명 = B.지역명인 데이터만 B테이블에서 조회해서 같은 A테이블에 맞는 로우에 데이터를 출력
2.RIGHT JOIN
오른쪽의 테이블을 기준으로 두고, JOIN을 한다는 것입니다.
SELECT A.지역명, A.책상수량, B.지역명, B.의자수량
FROM @ATable AS A
RIGHT JOIN @BTable AS B
ON (A.지역명 = B.지역명)
지역명 | 책상수량 | 지역명 | 의자수량 |
가 | 30 | 가 | 30 |
나 | 20 | 나 | 70 |
다 | 40 | 다 | 80 |
마 | 100 | 마 | 20 |
Null | Null | 바 | 200 |
Null | Null | 사 | 150 |
www.sqler.pe.kr 의 윤형식(skybill)님 글.
DECLARE @ATable Table ( 지역명 nvarchar(10) ,책상수량 int)
INSERT INTO @ATable VALUES('가', 30)
INSERT INTO @ATable VALUES('나', 30)
INSERT INTO @ATable VALUES('다', 40)
INSERT INTO @ATable VALUES('라', 50)
INSERT INTO @ATable VALUES('마', 100)
DECLARE @BTable Table ( 지역명 nvarchar(10) ,의자수량 int)INSERT INTO @BTable VALUES('가', 50)
INSERT INTO @BTable VALUES('나', 70)
INSERT INTO @BTable VALUES('다', 80)
INSERT INTO @BTable VALUES('마', 20)
INSERT INTO @BTable VALUES('바', 200)
INSERT INTO @BTable VALUES('사', 150)
'Tech' 카테고리의 다른 글
ERWin Error (0) | 2008.12.10 |
---|---|
Excel 화면에 보이는 셀만 복사 (0) | 2008.12.09 |
산출물작업 (0) | 2008.12.02 |
Mozilla Firefox, Portable Edition (1) | 2008.11.24 |
Google Calenda (0) | 2008.11.06 |
12달 액자에 아기사진 넣기 (0) | 2008.11.05 |