조건 없이 그냥 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의 세계는 상당히 오묘하구나... -_-; 너무 충격받아서 메모해둠.



,