SQLD(SQL 개발자) 기출 · 집합 연산자
다음 중 SQL에서 실행 결과가 같은 것은?

본문)
(1)
SELECT A ID, B.ID
FROM MytestA A FULL OUTER JOIN
MytestB B
ON A.ID = B.ID
(2)
SELECT A ID, B.ID
FROM MytestA A LEFT OUTER JOIN
MytestB B
ON A.ID = B.ID
UNION
SELECT A ID, B.ID
FROM MytestA A RIGHT OUTER JOIN
MytestB B
ON A.ID = B.ID
(3)
SELECT A ID, B.ID
FROM MytestA A, MytestB B
WHERE A.ID = B.ID
UNION ALL
SELECT A.ID, NULL FROM MytestA A
WHERE NOT EXISTS (SELECT 1 FROM
MytestB B WHERE A.ID = B.ID)
UNION ALL
SELECT NULL, B.ID
FROM MytestB B
WHERE NOT EXISTS (SELECT 1 FROM
MytestA A WHERE B.ID = A.ID)이 문제 풀어보기
정답 및 해설 보기
정답: 1번
보기 3개 모두 FULL OUTER JOIN과 동일한 결과를 반환한다. 즉, 교집합과 MytestA 및 MytestB의 차집합 모두가 조회된다.