Oracle 기준으로 다음 SQL 결과의 행 수와 열 수를 순서대로 나… | [SQLD] SQL 개발자 기출유형 모의고사 4회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 4회
Oracle 기준으로 다음 SQL 결과의 행 수와 열 수를 순서대로 나열한 것은?

[예약]

예약번호편명등급운임
1KE101BIZ500
2KE101ECO200
3KE101ECO150
4OZ330ECO180
5OZ330BIZ450
SELECT *
  FROM 예약
 PIVOT (SUM(운임) FOR 등급 IN ('BIZ' AS BIZ, 'ECO' AS ECO))
 ORDER BY 예약번호;
1
2, 3
2
5, 3
3
2, 4
4
5, 4
해설

PIVOT 은 집계(운임)와 FOR(등급)에 쓰지 않은 나머지 열 예약번호·편명을 암시적 GROUP BY 기준으로 삼으므로, 예약번호마다 한 행씩 5행에 예약번호·편명·BIZ·ECO 4열이 된다.

편명별 2행으로 합치려면 FROM 에 편명·등급·운임만 고른 인라인 뷰를 두어야 한다.

  • 2행·3열은 인라인 뷰로 예약번호를 뺐을 때의 결과이다.
  • 5행·3열은 예약번호 또는 편명 열이 결과에서 사라진다고 본 것이다.
  • 2행·4열은 편명으로만 묶이면서 예약번호도 남는다고 본 것이다.

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

이어서 풀어보기

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