SQLD(SQL 개발자) 기출 · JOIN

다음 중 아래 (1), (2), (3)의 SQL에서 실행결과가 같은 것은?
본문)
(1) SELECT A.ID, B.ID
 FROM TBL1 A FULL OUTER JOIN TBL2 B
ON A.ID = B.ID
(2)  SELECT A.ID, B.ID
 FROM TBL1 A LEFT OUTER JOIN TBL2 B
 ON A.ID = B.ID
 UNION
 SELECT A.ID, B.ID
 FROM TBL1 A RIGHT OUTER JOIN TBL2 B
 ON A.ID = B.ID
(3)  SELECT A.ID, B.ID
 FROM TBL1 A, TBL2 B
 WHERE A.ID = B.ID
 UNION ALL
 SELECT A. ID, NULL
 FROM TBL1 A
 WHERE NOT EXISTS (SELECT 1 FROM TBL2 B WHERE A.ID = B.ID)
 UNION ALL
 SELECT NULL, B.ID
 FROM TBL2 B
 WHERE NOT EXISTS (SELECT 1 FROM TBL1 A WHERE B.ID = A.ID)

이 문제 풀어보기

정답 및 해설 보기

정답: 3번

정답은 3번이다. (1)은 FULL OUTER JOIN이고 (3)은 INNER JOIN 결과에 양쪽 미매칭 행을 UNION ALL로 더해 동일한 결과를 만든다. 반면 (2)는 LEFT OUTER JOIN 결과와 RIGHT OUTER JOIN 결과를 UNION으로 합쳐 중복 행이 제거될 수 있으므로 항상 같은 결과가 되지 않는다.
이 단원 연속 풀기 · JOIN개념서 「JOIN」 읽기

이 단원 공개 기출 77문항

  1. 아래의 EMP 테이블과 DEPT 테이블에서 밑줄 친 속성은 주키이며 EMP.C는 DEPT와 연결된 외래키이다. EMP 테이블과 DEPT 테이블을 LEFT, FUL…JOIN
  2. 다음 중 아래와 같은 데이터 상황에서 SQL의 수행 결과로 가장 적절한 것은? [그림]JOIN
  3. 아래와 같은 데이터 모델에서 ORACLE을 기준으로 SQL을 작성하였다. 그러나 SQL Server에서도 동일한 결과를 보장할 수 있도록 ANSI 구문으로 SQL…JOIN
  4. 다음 중 SELF JOIN을 수행해야 할 경우로 가장 적절한 것은?JOIN
  5. 아래와 같이 일자별매출 테아블이 존재할 때 아래 결과처럼 일자별 누적매출액을 SQL로 구하려고 한다. WINDOW FUNCTION을 사용하지 않고 일자별 누적매출…JOIN
JOIN 기출 전체 보기 →