본문 바로가기

자격증17

서술형 문제 테이블을 한번만 읽고 SQL 작성 해당 출처에서의 문제 중 EMP 테이블을 이용한 문제가 있어서 문제를 풀고 정리해보았습니다. 아래는 EMP의 데이터입니다. 이 데이터를 사용하여 아래의 쿼리를 완성하세요 단 테이블을 여러번 읽으면 성능이 안좋으니 한번만 읽어서 보이게 하세요! 전체사원수/부서개수/부서별평균사원수/부서별최대사원수/부서별최소사원수/최소사원의부서/최대사원의부서 튜닝 point 함수를 적절히 사용하여 원하는 값을 뽑아낼 수 있는지가 중요할것 같습니다. 정답 더보기 SQL select sum(a.직원수) as 전체사원수,count(a.deptno) as 부서개수,round(avg(a.직원수),2) as 부서별평균사원수 ,max(a.직원수) as 부서별최대사원수,min(a.직원수) as 부서별최소사원수, min(최소사원수의부서) a.. 2021. 8. 18.
서술형문제 6 야간배치 SQL 튜닝 주문, 배송, 고객 정보를 읽어 주문배송 테이블에 입력하는 야간 배치(Batch) 프로그램을 튜닝하려고 한다. 대상 주문 데이터는 2016년 6월부터 8월까지 3개월치다. 월별 주문건수는 1,000만건이다. 월별 배송건수는 900만건이다. 배송은 주문이 완료된 후에 시작된다. 고객 수는 500만명이다. 주문 : 주문인자 기준 월단위 Range 파티션 배송 : 배송일자 기준 월단위 Range 파티션 주문 테이블 주문_PK : 주문번호 주문_N1 : 주문상태코드 + 주문일자 (Local Partition) 주문_N2 : 주문고객번호 + 주문일자 (Local Partition) 배송 테이블 배송_PK : 배송번호 배송_N1 : 주문번호 + 배송일자 (Local Partition) 배송_N2 : 배송일자 + 배.. 2021. 8. 16.
서술형문제5. 페이징처리 SQL 작성법 고객상태코드 = 'AC'인 고객을 조회해서 등록일시,고객번호 순으로 출력하고자 한다. 출력하고자 하는 항목은 아래 그리드(Grid)와 같고, 가장 우측 최근접속일시는 최근 한 달 이내 마지막 접속일시를 의미하며, 접속이력이 없으면 Null을 출력한다. ※한달 전 날짜를 구하는 함수 -> trunc(add_months(sysdate,-1)) '조회/다음' 버튼을 누르면, 매번 20건씩 데이터를 읽어 그리드 화명에 추가(Append)하는 방식으로 화면 페이징 처리를 구현해야 하고, '파일로 출력' 버튼을 누르면 전체 조회 데이터를 파일로 일괄 저장하도록 구현해야 한다. 두 조회 버튼에 대한 1.최적의 SQL을 각각 작성하고, 2.최적의 구성안을 제시하시오 요건 1. 각 조회버튼에 대한 성능요건 1) 조회/다.. 2021. 8. 14.
서술형문제4 SQL 작성 주문 테이블 구조는 아래와 같으며, 파티셔닝 하지 않았다. 하루 주문 건수는 평균 2만 건이며, 10년치 데이터가 저장돼 있다. 주문 데이터를 조회하는 화면은 아래와 같다. 고객번호는 입력하지 않을 수 있지만, 주문일자는 항상 입력해야 한다. 주문일자로는 보통 3일을 입력하며, 최대 1주일까지 입력할 수 있다. 1.조회버튼을 누를 때 수행할 최적의 SQL을 작성하시오. 개발 정책 상 Dynamic SQL은 사용할 수 없다. 주문일시 기준 역순으로 정렬해야 하며, 부분범위처리는 허용되지 않는다. 즉 조회된 결과 집합 전체를 그리드(Grid)에 출력해야 한다. 2.최적의 인덱스 구성안을 제시하시오. 화면 튜닝 Point 1.전체범위처리로 처리해야 함 2. 고객번호는 입력하지 않을 수 있지만 주문일자는 항상 .. 2021. 8. 13.
반응형