본문 바로가기

서술형3

서술형문제5. 페이징처리 SQL 작성법 고객상태코드 = 'AC'인 고객을 조회해서 등록일시,고객번호 순으로 출력하고자 한다. 출력하고자 하는 항목은 아래 그리드(Grid)와 같고, 가장 우측 최근접속일시는 최근 한 달 이내 마지막 접속일시를 의미하며, 접속이력이 없으면 Null을 출력한다. ※한달 전 날짜를 구하는 함수 -> trunc(add_months(sysdate,-1)) '조회/다음' 버튼을 누르면, 매번 20건씩 데이터를 읽어 그리드 화명에 추가(Append)하는 방식으로 화면 페이징 처리를 구현해야 하고, '파일로 출력' 버튼을 누르면 전체 조회 데이터를 파일로 일괄 저장하도록 구현해야 한다. 두 조회 버튼에 대한 1.최적의 SQL을 각각 작성하고, 2.최적의 구성안을 제시하시오 요건 1. 각 조회버튼에 대한 성능요건 1) 조회/다.. 2021. 8. 14.
서술형문제2 TRACE 결과 분석 아래 SQL과 트레이스 결과를 분석해서 개선된 SQL을 작성하시오 1) 원하는 실행계획이 정확히 나오도록 힌트도 함께 기술할 것. 2) 최적의 인덱스 구성방안도 함께 제시할 것 (성능 개선에 도움이 되지 않는 필요 이상의 컬럼을 추가하는 것은 감점요인) [SQL문] select o.주문일시, o.주문번호, c.고객번호, c.고객명, c.연락처, o.주문금액, o.배송지 from 고객 c,주문 o where o.주문일시 between to_date('20150301','yyyymmdd') and to_date('20150314235959','yyyymmddhh24miss') and o.고객번호 = c.고객번호 and c.거주지역코드||c.고객명 in ('02김철수','05홍길동') order by o.주문.. 2021. 8. 11.
서술형문제 1번 (누적매출 구하는 SQL) 문제 아래 좌측과 같은 월별지점매출 테이블을 읽어서 우측과 같은 형태, 즉 각 지점별로 판매월과 함께 증가하는 누적매출(running total)을 구하는 SQL을 두가지 방식으로 작성하라 1) 윈도우 함수를 이용한 방식 2) 윈도우 함수나 스칼라 서브쿼리를 지원하지 않는 DBMS에서 활용할 수 있는 방식으로 작성(단, 전체범위처리에 최적화된 방식으로 작성할 것) WITH 월별지점매출 AS ( SELECT '10' as 지점, '1' as 판매월, '521' as 매출 FROM dual UNION ALL SELECT '10', '2','684' FROM dual UNION ALL SELECT '10', '3','590' FROM dual UNION ALL SELECT '20', '1','537' FROM.. 2021. 8. 10.