본문 바로가기

배우기/복습노트[oracle sql]

[실습문제] 2023. 11. 14.(화) (2문제)

728x90
반응형

실습문제 1. subway 테이블을 이용하여 

1) 노선별 승차가 가장 만흔 시간대를 확인하여라.

 

먼저 내 풀이이다. 나는 STEP1과 STEP2를 이용하여 인라인뷰로 풀이하였다.

window function 배웠는데, 배워서 푼 거 적용했는데 그 코드가 날아가는 바람에 수업시간에 떠오르는대로 급하게 짠 쿼리이다. 그래도 이젠 급하게 쿼리 짤 때 뭐가 떠오르긴 한 것 같아서 다행이다.

 

 

다음은 선생님 해설이다.

SOL 1, 2  둘 다 버퍼가 7밖에 나오지 않는다. 인라인뷰로 풀면 두 배가 출력된다.

 

 

 

2) 시간대별로 승차가 가장 많은 순서대로 3위까지 노선을 출력하여라(동순위 인정)

일단 내 코드인데 좀 이상하게 짰다.

쓸 데 없이 GROUP BY도 했고, 승차순위도 번거롭게 작성했다.

 

다음은 선생님 쿼리이다.

RANK와 DENSE_RANK의 차이점도 함께 보여주셨다.

 

728x90

 

 

실습문제 2. EMP 테이블에서 각 직원의 이름, SAL, 부서에서의 SAL 차지 비율을 구하여라.

풀이방법은 선생님과 같게 풀이하였고 RATIO_TO_REPORT라는 비율 구하는 WINDOW FUNCTION을 알려주셔서 해당 함수를 적용하는 풀이를 추가하겠다.

 

 

이번 실습문제는 쉬웠으나, RATIO_TO_REPORT를 배웠다.

그리고 WINDOW FUNCTION을 잘 적용하여 문제들을 풀어봐야겠다.

728x90
반응형