Oracle 기준으로 다음 SQL을 실행한 결과 행 수는?[항공편]편명… | [SQLD] SQL 개발자 기출유형 모의고사 4회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 4회
Oracle 기준으로 다음 SQL을 실행한 결과 행 수는?

[항공편]

편명출발공항
KE1ICN
KE2GMP
OZ3ICN
7C4PUS

[예약]

예약번호편명상태
R1KE1확정
R2KE1취소
R3KE1확정
R4OZ3취소
R5KE2확정
SELECT A.편명, B.예약번호
  FROM 항공편 A, 예약 B
 WHERE A.편명 = B.편명(+)
   AND B.상태(+) = '확정'
 ORDER BY A.편명, B.예약번호;
1
5
2
20
3
3
4
6
해설

(+) 는 NULL 이 채워질 쪽(예약)에 붙이며, B.상태(+) = '확정'처럼 필터에도 붙이면 LEFT OUTER JOIN 의 ON 절에 A.편명 = B.편명 AND B.상태 = '확정'을 둔 것과 같다.

KE1 확정 2행, KE2 1행에 확정 예약이 없는 OZ3·7C4 가 NULL 로 1행씩 보존되어 5행이다.

  • 3은 상태 조건의 (+) 를 빠뜨려 내부 조인처럼 된 경우다.
  • 6은 상태 조건을 무시해 OZ3 의 취소 예약까지 결합한 값이다.
  • 20은 조인 조건이 없는 CROSS JOIN(4×5)의 행 수다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 4회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기