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
반응형
'배우기 > 복습노트[oracle sql]' 카테고리의 다른 글
[복습] SQL | Oracle 시노님(Synonym)이해하기 + 복습후기(20231115) (0) | 2023.11.16 |
---|---|
[복습] SQL | Oracle 부서의 계층을 표시하기, 계층형 질의 (0) | 2023.11.16 |
[복습] SQL | Oracle 부정연산자 not equal join 과 exists 연산자 + 복습후기(20231114) (0) | 2023.11.14 |
[복습] SQL | Oracle 쿼리 안에서 테이블 생성하기, with문 (0) | 2023.11.14 |
[복습] SQL | Oracle 서로 다른 행의 비교와 연산을 위한 함수 window function(lag, lead, sum, avg, min, max, count, rank) (2) (0) | 2023.11.14 |