hara

Oracle Quiz1 본문

공부/DataBase

Oracle Quiz1

하랄라 2017. 2. 21. 23:56


[테이블 정보!]


기본적인 select문 문제와 답


1. 급여가 10000이거나  14000인 사원들의 사번, 이름(first_name), 급여를 검색하시오.

-select employee_id 사번,first_name 이름, salary 급여 from employees where salary in(10000,14000)


2. first_name에 대소문자구별없이('e', 'E')를 포함하는 모든 사원을 검색하시오

-select first_name from employees where first_name like '%e%' or first_name like '%E%'

-select first_name from employees where first_name like '%'||upper('e')||'%'


3. first_name이 'J’로 시작하고 n문자를 포함하는 사원의 사번, 이름을 검색하시오.

-select employee_id 사번,first_name 이름 from employees where first_name like 'J%' || '%n%'


4.사원의 사번, 이름, 관리자번호(manager_id),  관리자여부를 출력하시오.

 관리자여부란, 관리자가 있는 사원은 ‘관리자있음’으로, 관리자가 없는 사원은 ‘관리자없음’으로 출력한다.

-select employee_id 사번,first_name 이름,manager_id 관리자번호,nvl2(manager_id,'관리자있음','관리자없음') 관리자여부

 from employees


5.급여가 10000이상인 사원의 사번, 부서번호, 이름, 급여, 수당을 출력하시오.단, 부서번호가 30번부서이거나 90번인 사원만 

검색한다.

-select employee_id 사번,department_id 부서번호,first_name 이름,salary 급여,commission_pct 수당 

from employees where salary>=1000 and department_id in(30,90)


6.급여가 10000이상인 사원의 사번, 부서번호, 이름, 급여, 수당을 출력하시오.

단, 부서번호가 30번,60번, 90번인 부서는 제외하고 사원을 검색한다.

-select employee_id 사번,department_id 부서번호,first_name 이름,salary 급여,commission_pct 수당 

from employees where salary>=1000 and department_id not in(30,60,90)


7. 각 사원의 사번과 근무년수를 출력하시오. 단, 근무년수는 소숫점이하자리는 버리고 장기 근속자부터 출력하시오.

-select employee_id 사번,floor(to_char(sysdate,'YYYY')-to_char(hire_date,'YYYY')) 근무년수 

from employees order by 근무년수 desc


8. 급여가 4000보다 많은 사원들의 부서별 급여평균를 출력하시오. 단 급여평균은 소숫점이하2자리에서 반올림.

-select department_id 부서,round(avg(salary),1) 급여평균 from employees where salary>=4000 group by department_id


9.급여가 4000보다 많은 사원들의 부서별 급여평균를 출력하시오. 단 급여평균은 소숫점이하2자리에서 반올림.

-select department_id 부서,round(avg(salary),1) 급여평균 from employees where salary>=4000 group by department_id


10. 급여평균이 7000이상인 부서별 급여평균, 최대급여, 최소급여를 출력하시오.

  최대급여와 최소급여가 같은 부서는 출력에서 제외하시오.

-select avg(salary) 급여평균,max(salary) 최대급여,min(salary) 최소급여 

from employees  group by department_id having avg(salary)>=7000 and max(salary)<>min(salary)

'공부 > DataBase' 카테고리의 다른 글

Oracle 포트번호바꾸기  (0) 2017.04.16
Oracle Quiz5  (1) 2017.02.22
Oracle Quiz4  (0) 2017.02.22
Oracle Quiz3  (0) 2017.02.22
Oracle Quiz2  (0) 2017.02.22
Comments