Oracle/SQL2009. 11. 7. 11:51


Multiple column comparions은 subquery를 포함할 수 있는데,

Pairwise comparions 와 Nonpairwise comparions가 있습니다.

글자 그대로 해석을 해보면 쌍으로 비교(pairwise comparisons),
안쌍으로 비교(nonpairwise comparisons)이다.

표현이 좀 무식하지만 그렇게 이해를 해보면 될 것 같다.

예제를 보면 잘 이해가 될 것이다.

우선 테이블 t1과 t2의 데이터는 아래와 같다.

T1) 
      COL1 COL2
---------- ----------
            10 A
            20 A
            10 B
            20 B

T2)
      COL1 COL2
---------- ----------
            10 A
            20 B



1) Pairwise comparions
   SELECT   * 
   FROM     t1
   
WHERE (col1, col2) IN (SELECT col1, col2
                                      FROM t2) 


   결과)
        COL1 COL2
---------- ----------
            10 A
            20 B

2) Nonpairwise comparions
    SELECT *
    FROM t1
    WHERE col1 IN (SELECT col1 FROM t2) AND
                col2 IN (select col2 from t2)
  
   결과)
        COL1 COL2
---------- ----------
            10 B
            10 A
            20 B
            20 A


내용 참고 : 오라클 교재(Oracle Database 10g SQL Fundmental Ⅱ 6-3 ~ 6-6)
예제 출처 : http://cafe.naver.com/gseducation.cafe

Posted by 자수성가한 부자