조건 없이 그냥 JOIN :
> select a.name, a.birth_day, a.cust_code, b.PARTITION from CUST_G a LEFT OUTER JOIN CUST b ON (a.name = b.name);
HONG 0101 BB 20120214145050
LEE 0201 BB 20120214145053
KANG 0301 BB 20120214145057
WHERE에 조건을 넣은 경우 :
> select a.name, a.birth_day, a.cust_code, b.PARTITION from CUST_G a LEFT OUTER JOIN CUST b ON (a.name = b.name) where a.name = 'LEE';
LEE 0201 BB 20120214145053
ON 절에 조건을 넣은 경우 :
> select a.name, a.birth_day, a.cust_code, b.PARTITION from CUST_G a LEFT OUTER JOIN CUST b ON (a.name = b.name) AND a.name = 'LEE';
HONG 0101 BB
LEE 0201 BB 20120214145053
KANG 0301 BB
굳이 해석해보자면 WHERE에 넣으면 a 테이블에서 일단 고르고 남은 거에다가 조인한 느낌
ON에 넣으면 a에서 조건없이 고른 후에 on에 명시한 조건인것만 join 해주는 느낌
......
SQL의 세계는 상당히 오묘하구나... -_-; 너무 충격받아서 메모해둠.
'work work' 카테고리의 다른 글
git origin을 원격으로 바꾸고 새로운 origin 등록하기 (0) | 2013.06.24 |
---|---|
svn diff 를 vimdiff로 보는 방법 (0) | 2012.04.03 |
티스토리 통계 툴 Tistat ver 0.99 (메이저 업데이트) (43) | 2009.01.31 |
티스토리 통계 툴 Tistat ver 0.982 (마이너 업데이트) (0) | 2009.01.31 |
티스토리 통계 툴 Tistat ver 0.981 공개합니다. (71) | 2008.01.14 |