오라클 DB 문제 풀이(2)
Contents
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 |
-- 부서번호가 60인 직원의 사원번호,이름,월급을 출력하라 SELECT EMPLOYEE_ID, FIRST_NAME, SALARY FROM HR_EMPLOYEES WHERE DEPARTMENT_ID=60 -- 사원번호가 127인 사람의 이름, 입사일, 부서번호를 출력하라 SELECT FIRST_NAME, HIRE_DATE, DEPARTMENT_ID FROM HR_EMPLOYEES WHERE EMPLOYEE_ID=127 -- 이름의 JOHN인 사람의 모든 정보를 출력하라 SELECT * FROM HR_EMPLOYEES WHERE FIRST_NAME='JOHN' -- 입사일이 97년 1월 5일인 사원의 이름, 부서번호, 월급을 출력하라 SELECT FIRST_NAME, DEPARTMENT_ID, SALARY FROM HR_EMPLOYEES WHERE HIRE_DATE='1997-01-05' -- 직원이 매니저가 아닌 사람의 모든 정보를 출력하라 SELECT EMP1.* FROM HR_EMPLOYEES EMP1 INNER JOIN HR_JOBS JOB1 ON EMP1.JOB_ID = JOB1.JOB_ID WHERE JOB1.JOB_TITLE LIKE '%MANAGER%' -- 입사일이 97년 1월 2일 이후인 사원의 정보를 출력하라 SELECT * FROM HR_EMPLOYEES WHERE HIRE_DATE>'1997-01-02' -- 급여가 6000 이상인 사람의 이름, 급여, 부서번호를 출력하라 SELECT FIRST_NAME,SALARY,DEPARTMENT_ID FROM HR_EMPLOYEES WHERE SALARY>6000 -- 부서번호가 80 이상인 사원의 모든 정보를 출력하라 SELECT * FROM HR_EMPLOYEES WHERE DEPARTMENT_ID>=80 -- 이름이 k로 시작하는 사람보다 높은 이름을 가진 사원의 정보를 출력하라 SELECT * FROM HR_EMPLOYEES WHERE FIRST_NAME>'K%' -- 입사일이 97/12/10 보다 먼저 입사한 사람들의 모든 정보를 출력하라 SELECT * FROM HR_EMPLOYEES WHERE HIRE_DATE>'1997-12-10' -- 직원번호가 127보다 작거나 같은 직원의 입사번호와 이름을 출력하라 SELECT EMPLOYEE_ID, FIRST_NAME FROM HR_EMPLOYEES WHERE EMPLOYEE_ID<=127 -- 입사일이 97/01/01보다 늦고 00/12/07보다 빠른 사원의 이름,월급,부서번호를 출력하라 SELECT FIRST_NAME,SALARY,DEPARTMENT_ID FROM HR_EMPLOYEES WHERE HIRE_DATE BETWEEN '1997-01-01' AND '2000-12-07' -- 급여가 5000보다 크고 8000보다 작은 사람의 이름,직업,급여를 출력하라 SELECT FIRST_NAME, JOB_ID, SALARY FROM HR_EMPLOYEES WHERE SALARY BETWEEN 5000 AND 8000 -- 사원번호가 120~130 이외의 사원의 모든 정보를 출력하라 SELECT * FROM HR_EMPLOYEES WHERE NOT EMPLOYEE_ID BETWEEN 120 AND 130 -- 이름의 B와 J 사이인 직원의 정보를 출력하라 SELECT * FROM HR_EMPLOYEES WHERE FIRST_NAME BETWEEN 'B' AND 'J' -- 입사일 97년 이외에 입사한 사람의 정보를 출력하라 SELECT * FROM HR_EMPLOYEES WHERE YEAR(HIRE_DATE) != 1997 -- 직업이 MANAGER 와 SALEMAN인 사람인 모든 정보를 출력하라 SELECT * FROM HR_EMPLOYEES EMP1 INNER JOIN HR_JOBS JOB1 ON EMP1.JOB_ID = JOB1.JOB_ID WHERE JOB1.JOB_TITLE LIKE '%MANAGER%' OR JOB1.JOB_TITLE LIKE '%SALEMAN%' -- 부서번호 60,90을 제외한 사원의 이름, 부서번호, 사원번호를 출력하라 SELECT FIRST_NAME,DEPARTMENT_ID,EMPLOYEE_ID FROM HR_EMPLOYEES WHERE NOT DEPARTMENT_ID IN (60,90) -- S로 시작하는 사원의 사원번호, 이름, 입사일, 부서번호를 출력하라 SELECT EMPLOYEE_ID, FIRST_NAME, HIRE_DATE, DEPARTMENT_ID FROM HR_EMPLOYEES WHERE FIRST_NAME LIKE 'S%' -- 입사일이 2000년도인 직원의 정보를 출력하라 SELECT * FROM HR_EMPLOYEES WHERE YEAR(HIRE_DATE) = 2000 -- 이름이 J로 시작하고 마지막 글자가 N인 사원의 정보를 출력하라 -- 조건1. 이름은 4자리 이다 SELECT * FROM HR_EMPLOYEES WHERE FIRST_NAME LIKE 'J__N' -- 첫번째 문자를 관계없고, 두번째 문자가 A인 직원의 정보를 출력하라 SELECT * FROM HR_EMPLOYEES WHERE FIRST_NAME LIKE '_A%' -- 커미션이 NULL인 사원의 정보를 출력하라 SELECT * FROM HR_EMPLOYEES WHERE COMMISSION_PCT IS NULL -- 커미션이 NULL이 아닌 사원의 정보를 출력하라 SELECT * FROM HR_EMPLOYEES WHERE COMMISSION_PCT IS NOT NULL -- 부서번호가 100이고 급여가 5000 이상인 직원의 이름,부서,월급을 출력하라 SELECT FIRST_NAME, DEPARTMENT_ID, SALARY FROM HR_EMPLOYEES WHERE DEPARTMENT_ID = 100 AND SALARY >= 5000 -- 첫글자가 K로 시작하거나 부서번호가 30인 사원의 사원번호, 이름, 부서번호를 출력하라 SELECT EMPLOYEE_ID, FIRST_NAME, DEPARTMENT_ID FROM HR_EMPLOYEES WHERE FIRST_NAME LIKE 'K%' -- 급여가 5000이상이고 부서가 100인 사원중 직원이 MANAGER인 사원의 정보를 출력하라 SELECT * FROM HR_EMPLOYEES EMP1 INNER JOIN HR_JOBS JOB2 ON EMP1.JOB_ID = JOB2.JOB_ID WHERE SALARY >5000 AND DEPARTMENT_ID = 100 AND JOB2.JOB_TITLE LIKE '%MANAGER%' -- 부서번호가 100인 사원을 사원번호순으로 정렬 SELECT * FROM HR_EMPLOYEES WHERE DEPARTMENT_ID = 100 ORDER BY EMPLOYEE_ID ASC -- 급여 순서가 많은 순으로 정렬 SELECT * FROM HR_EMPLOYEES ORDER BY SALARY DESC -- 부서번호로 오름차순정렬후 급여 내림차순정렬 SELECT * FROM HR_EMPLOYEES ORDER BY DEPARTMENT_ID ASC , SALARY DESC -- 부서번호 내림차순, 이름 오름차순, 급여 내림차순 출력 SELECT * FROM HR_EMPLOYEES ORDER BY DEPARTMENT_ID DESC, FIRST_NAME ASC, SALARY DESC -- 사원의 이름, 급여, 커미션 금액, 총액을 구하여 총액 내림차순 출력 -- 커미션이 NULL인 사람은 제외 SELECT FIRST_NAME, SALARY, COMMISSION_PCT*SALARY, SALARY+COMMISSION_PCT*SALARY FROM HR_EMPLOYEES WHERE COMMISSION_PCT IS NOT NULL -- 50번 부서의 모든 직원들에게 13%트의 보너스를 지부라기로 했다. 이름, 급여, 보너스, 금액, 부서번호를 출력하라 SELECT FIRST_NAME, SALARY, SALARY*0.13, SALARY*1.13, DEPARTMENT_ID FROM HR_EMPLOYEES WHERE DEPARTMENT_ID = 50 -- 60번 부서의 연봉을 계산하여 이름, 부서번호, 급여, 연봉을 출력하라 -- 연말에 150%의 보너르를 지급한다 SELECT FIRST_NAME, DEPARTMENT_ID, SALARY, 13.5*SALARY FROM HR_EMPLOYEES WHERE DEPARTMENT_ID = 60 |
Author Jaejin Jang
LastMod 2018-02-11
License Jaejin Jang