문제
집합 A={1, 2, 3}, B={6, 7}에 대하여 결과 집합이 {(1,6), (2,6), (3,6), (1,7), (2,7), (3,7)}로 출력되었다면, 어떤 조인을 사용한 것인가?
① LEFT OUTER JOIN ② CROSS JOIN ③ INNER JOIN ④ SELF JOIN
정답
2번
해설
정답: 2. A의 3개 원소와 B의 2개 원소가 모든 조합(3×2=6건)으로 짝지어졌으므로 곱집합(Cartesian Product), 즉 CROSS JOIN 이다.
오답 풀이
- ①: LEFT OUTER JOIN 은 조인 조건과 기준 테이블이 필요하며, 모든 조합을 만들지 않는다.
- ②: 정답. 조인 조건 없이 두 집합의 모든 조합을 생성하는 것이 CROSS JOIN 이다.
- ③: INNER JOIN 은 조인 조건을 만족하는 행만 반환한다. 모든 조합이 나온 것과 다르다.
- ④: SELF JOIN 은 한 테이블을 자기 자신과 조인하는 것으로, 서로 다른 두 집합 A·B의 조합과 무관하다.
보충 개념
CROSS JOIN 의 결과 건수는 두 테이블 행 수의 곱이다. FROM A CROSS JOIN B 또는 조인 조건 없는 FROM A, B 로 표현하며, 결과 컬럼 조합 {(1,6)...(3,7)} 처럼 모든 m×n 짝이 나온다.