본문 바로가기
[2020]KIC 캠퍼스 복습/SQL(3,4)

[예제 3W] 수업 예제 정리(SQL)

by 두블두블 2020. 7. 29.

문제 1) (1일차)

제약조건 연급(PK와 FK설정이 )

문제 2 (2일차)
-- 1) jikwon 테이블에서 이름에 '이'가 포함된 직원이 있다면, '이'부터 두 글자 출력
-- 예) 이순신 : '이순', 김이배, : '이배'를 출력

 

 

문제 3 (3일차)

-- 문제1) 5년 이상 근무하면 '감사합니다', 그 외는 '열심히' 라고 표현 ( 2010 년 이후 직원만 참여 ) 
--        특별수당(pay를 기준) : 5년 이상 5%, 나머지 3% (정수로 표시:반올림) 
--  출력 형태 ==>   직원명   근무년수      표현           특별수당 
       --                  홍길동     11       감사합니다         150

 

-- 문제2) 입사 후 8년 이상이면 왕고참, 5년 이상이면 '고참', 3년 이상이면 '보통', 나머지는 '일반'으로 표현 
-- 출력==>  직원명    직급    입사년월일    구분      부서 
--               홍길동    부장    2009.1.5      왕고참    총무부

 

-- 문제3) 각 부서번호별로 실적에 따라 급여를 다르게 인상하려 한다.  
--     pay를 기준으로 10번은 10%, 30번은 20% 인상하고 나머지 부서는 동결한다. 
--       8년 이상 장기근속을 O,X로 표시 
--       금액은 정수만 출력(반올림) 
--  출력==>   사번    직원명   부서    연봉    인상연봉    장기근속 
--                  1     홍길동    10     ****      ****          O        <-- 아니면 X 표시

 

문제 4 (3일차 )

-- 문1) 직급별 급여의 평균 (NULL인 직급 제외) 

-- 문2) 부장,과장에 대해 직급별 급여의 총합

-- 문3) 2010년 이전에 입사한 자료 중 년도별 직원수 출력 ★완료★

-- 문4) 직급별 성별 인원수, 급여합 출력 (NULL인 직급은 임시직으로 표현)

-- 문5) 부서번호 10,20에 대한 부서별 급여 합 출력

 

문제 5 (4일차)

문1) 직급이 '사원' 인 직원이 관리하는 고객자료 출력
출력 ==>  사번   직원명   직급      고객명    고객전화    고객성별
               3     한국인   사원       우주인    123-4567       남

 

문2) 직원별 고객 확보 수  -- GROUP BY 사용
    - 모든 직원 참여
 

문3) 고객이 담당직원의 자료를 보고 싶을 때 즉, 고객명을 입력하면,  담당직원 자료 출력  

        :    ~ WHERE GOGEK_NAME='강나루'
출력 ==>  직원명       직급
            한국인       사원
    
문4) 직원명을 입력하면 관리고객 자료 출력
       : ~ WHERE JIKWON_NAME='한국인'
출력 ==> 고객명   고객전화          주민번호           나이
         강나루   123-4567    700512-1234567        38
 

문제 6 (4일차)

문1) 총무부에서 관리하는 고객수 출력 (고객 30살 이상만 작업에 참여)

 

문2) 부서명별 고객 인원수 (부서가 없으면 "무소속")
 
문3) 고객이 담당직원의 자료를 보고 싶을 때 즉, 고객명을 입력하면  담당직원 자료 출력  

        :    ~ WHERE GOGEK_NAME='강나루'
출력 ==>  직원명    직급   부서명  부서전화    성별

 

문4) 부서와 직원명을 입력하면 관리고객 자료 출력
        ~ WHERE BUSER_NAME='영업부' AND JIKWON_NAME='이순신'
출력 ==>  고객명    고객전화      성별
            강나루   123-4567       남

문제 7 (5일차)

문1) 2010년 이후에 입사한 남자 중 급여를 가장 많이 받는 직원은?

 

문2)  평균급여보다 급여를 많이 받는 직원은?

 

문3) '이미라' 직원의 입사 이후에 입사한 직원은?

 

4) 2010 ~ 2015년 사이에 입사한 총무부(10),영업부(20),전산부(30) 직원 중 급여가 가장 적은 사람은?

(직급이 NULL인 자료는 작업에서 제외)

 

문5) 한송이, 이순신과 직급이 같은 사람은 누구인가?

 

문6) 과장 중에서 최대급여, 최소급여를 받는 사람은?

 

문7) 10번 부서의 최소급여보다 많은 사람은?

 

문8) 30번 부서의 평균급여보다 급여가 많은 '대리' 는 몇명인가?

 

문9) 고객을 확보하고 있는 직원들의 이름, 직급, 부서명을 입사일 별로 출력하라.

 

문10) 이순신과 같은 부서에 근무하는 직원과 해당 직원이 관리하는 고객 출력

(고객은 나이가 30 이하면 '청년', 50 이하면 '중년', 그 외는 '노년'으로 표시하고, 고객 연장자 부터 출력)

출력 ==>  직원명    부서명     부서전화     직급      고객명    고객전화    고객구분

          한송이    총무부     123-1111    사원      백송이    333-3333    청년   

문 8 5주차


-- 문1) 사번   이름    부서  직급  근무년수  고객확보
--        1   홍길동  영업부 사원     6           O   or  X
--  조건 : 직급이 없으면 임시직, 전산부 자료는 제외, 위의 결과를 위한 뷰파일 v_exam1을 작성



-- 문2) 부서명   인원수
--      영업부     7
--   조건 : 직원수가 가장 많은 부서 출력, 위의 결과를 위한 뷰파일 v_exam2을 작성


-- 문3) 가장 많은 직원이 입사한 요일에 입사한 직원 출력
--  직원명   요일     부서명   부서전화
--    한국인  수요일   전산부   222-2222
-- 위의 결과를 위한 뷰파일 v_exam3을 작성  
select to_char(jikwon_ibsail,'DAY') from jikwon;