일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 이클립스
- 가변인자
- 25가지 효율적인 sql작성법
- 추상클래스
- 상속
- Validations
- Random
- 전체텍스트
- 전체
- full text indexing
- 형변환
- 스프링
- 자바
- 페이징
- 단축키
- angular2
- 자바 야구게임
- Login with OAuth Authentication
- 다형성
- Full text
- 상속예제
- IBatis procedure
- while
- 로또
- 야구게임
- 업캐스팅
- 전자정부
- jquery
- 다운캐스팅
Archives
- Today
- Total
nalaolla
hr스키마 테스트 본문
728x90
반응형
- SELECT * FROM tab;
- SELECT * FROM employees;
- SELECT DISTINCT job_id FROM employees;
- SELECT ALL job_id FROM employees;
- --1.사원테이블에서 사원번호와 급여를 출력하시오.
- SELECT employee_id,salary FROM employees;
- --2.사원테이블에서 사원번호와 급여를 내림차순으로 출력하시오.
- SELECT employee_id,salary FROM employees
- ORDER BY salary DESC;
- --3.사원테이블에서 사원번호와 급여를 내림차순으로 출력하시오.
- -- 단 사원번호가 200번 이상인 사람들만.
- SELECT employee_id,salary FROM employees
- WHERE employee_id >= 200
- ORDER BY salary DESC;
- --4.사원테이블에서 직업아이디는 순정렬,급여는 역정렬해서
- --출력하시오.
- SELECT job_id,salary FROM employees
- ORDER BY job_id ASC,salary DESC;
- --4.사원테이블에서 직업아이디는 순정렬,급여는 역정렬해서
- --출력하시오.
- -- 단, 사원번호가 200번 이상인 사람들만.
- SELECT job_id AS "업무코드",salary AS "급여 $" FROM employees
- WHERE employee_id >= 200
- ORDER BY job_id ASC,salary DESC;
- SELECT department_id FROM employees
- ORDER BY department_id ASC;
- --5.사원테이블에서 10번 부서에서 근무하는 사원들의
- --사번과 부서번호를 출력하시오.
- SELECT employee_id,department_id FROM employees
- WHERE department_id=10;
- --6.사원테이블에서 업무코드가 IT_PROG인 사원들의
- --사번과 부서번호를 출력하시오.
- SELECT employee_id,department_id FROM employees
- WHERE job_id = 'IT_PROG';
- --7.사원테이블에서 급여가 6000이상 15000이하인 사원들의
- --사번과 사원명,급여를 출력하시오.
- SELECT employee_id,first_name,last_name,salary,hire_date
- FROM employees
- WHERE salary >= 6000 AND salary <= 15000;
- --8.사원테이블에서 입사일이 2006/01/03인 사원의
- --사원번호와 이름을 출력하시오.
- SELECT employee_id,first_name,last_name
- FROM employees
- WHERE hire_date='2006/01/03';
- --9.사원테이블에서 10번부서의 사원번호와 사원명,
- --급여의 110%를 출력하세요.
- SELECT employee_id,first_name,last_name,
- salary "오리지날",salary*1.1 "110%"
- FROM employees
- WHERE department_id=10;
- SELECT first_name,last_name,salary
- FROM employees;
- SELECT first_name||' '||last_name||'님의 급여는['||salary||']입니다.' emp_salary
- FROM employees;
- SELECT chr(65) FROM employees;
- SELECT department_name FROM departments;
- SELECT REPLACE(department_name,
- 'IT','Information Technology')
- FROM departments;
- SELECT INSTR('CORPORATE FLOOR','OR', 1,3) FROM dual;
- SELECT INSTR('010-1111-1111','-',1,2) FROM dual;
- SELECT length('yangssem') FROM dual;
- --사원의 first_name이 7글자 이상인 사원명만 출력하시오.
- SELECT first_name,last_name FROM employees
- WHERE length(first_name) >= 7;
- --사원테이블에서 커미션을 받지않는 사람들은 0.5로 설정해서 출력하시오.
- SELECT employee_id,commission_pct FROM employees;
- SELECT employee_id,nvl(commission_pct,0.5) commission_pct FROM employees;
- SELECT employee_id,nvl2(commission_pct,1.0,0.5) commission_pct FROM employees;
- --실지급액 출력
- SELECT employee_id,
- nvl2(commission_pct,1.0,0.5) commission_pct ,
- salary "적용전급여",
- salary+salary*nvl2(commission_pct,1.0,0.5) "적용후급여"
- FROM employees;
- SELECT sysdate FROM dual;
- SELECT add_months(sysdate,1) FROM dual;
- SELECT count(employee_id) FROM employees;
- SELECT count(employee_id) 사원수 FROM employees
- WHERE department_id=20;
- SELECT count(COMMISSION_PCT) FROM employees;
- SELECT count(manager_id) FROM employees;
- --Q1:연봉 8000이상인 사원들의
- --부서별 평균연봉의 반올림값을 출력하라.
- SELECT DEPARTMENT_ID,ROUND(AVG(SALARY))
- FROM EMPLOYEES
- WHERE SALARY>=8000
- GROUP BY DEPARTMENT_ID;
- --주의 ) 부서별 평균연봉이8000 이상인 사원들의
- --평균연봉을 반올림해서 출력하는 것과는 다르다.
- SELECT DEPARTMENT_ID,ROUND(AVG(SALARY))
- FROM EMPLOYEES
- GROUP BY DEPARTMENT_ID
- HAVING avg(salary)>=8000;
- --Q2:연봉 8000이상인 사원들의 부서별 평균연봉의 반올림값
- --을 부서번호의 내림차순으로 정렬하라
- SELECT DEPARTMENT_ID,ROUND(AVG(SALARY))
- FROM EMPLOYEES
- WHERE SALARY>=8000
- GROUP BY DEPARTMENT_ID
- ORDER BY DEPARTMENT_ID DESC;
- --Q3:연봉 8000이상인 사원들의 부서별 평균연봉의 반올림값
- --을 평균연봉의 반올림값으로 오름차순 정렬하라
- SELECT DEPARTMENT_ID,
- ROUND(AVG(SALARY)) AS R
- FROM EMPLOYEES
- WHERE SALARY>=8000
- GROUP BY DEPARTMENT_ID
- ORDER BY R ASC;
- --Q4:연봉 10000이상인 사원들의 부서별 평균연봉의 반올림값
- --을 부서번호로 오름차순 정렬하라
- SELECT DEPARTMENT_ID,ROUND(AVG(SALARY)) AS R
- FROM EMPLOYEES
- WHERE SALARY>=10000
- GROUP BY DEPARTMENT_ID
- ORDER BY DEPARTMENT_ID ASC;
- --Q5:각 부서별 같은 업무를 하는 사람의 인원수를 구하여
- --부서번호,업무명,인원수를 출력하라.
- --(단, 부서번호와 업무명으로 각각 내림차순 정렬!)
- SELECT DEPARTMENT_ID,JOB_ID,count(*)
- FROM EMPLOYEES
- GROUP BY DEPARTMENT_ID, JOB_ID
- ORDER BY DEPARTMENT_ID DESC, JOB_ID DESC;
- -- //Q6:사원 테이블에서 연봉과 사원ID를 출력하되
- --연봉이 12000인 사원은 고액연봉자라고 출력하라.
- SELECT salary,employee_id,
- decode(salary,12000,'고액연봉자')
- FROM employees;
- --//Q7:사원 테이블에서 연봉과 사원ID를 출력하되
- --연봉이 12000이상인 사원은 비고에 고액연봉자라고
- --출력하라. (단, 최고연봉액은 24000이다.)
- SELECT salary,employee_id,
- case
- when salary BETWEEN 12000 AND 24000 then '고액연봉자'
- end 비고
- FROM employees;
- --//Q8:사원 테이블에서 연봉과 사원ID를 출력하되
- --연봉이 20000이상인 사원은 1급연봉자,
- --연봉이 15000이상인 사원은 2급연봉자,
- --연봉이 기타연봉인 사원은 3급연봉자 라고 출력하라.
- SELECT salary,employee_id,
- case
- when salary >= 20000 then '1급연봉자'
- when salary >= 15000 then '2급연봉자'
- else '3급'
- end 비고
- FROM employees;
- SELECT
- employees.employee_id,
- employees.department_id,
- departments.department_name
- FROM employees,departments
- WHERE employees.department_id=departments.department_id;
- SELECT count(*) FROM employees;
- SELECT count(*) FROM departments;
- SELECT 107*27 FROM dual;
- SELECT e.employee_id 사원ID,d.location_id 근무지ID
- FROM employees e,departments d
- WHERE e.department_id = d.department_id
- AND e.employee_id=100;
- SELECT e.employee_id 사원ID,d.location_id 근무지ID
- FROM employees e JOIN departments d
- ON e.department_id = d.department_id
- AND e.employee_id=100;
- SELECT
- e.employee_id,
- e.department_id,
- d.department_name
- FROM employees e JOIN departments d
- ON e.department_id=d.department_id;
- --2)사원테이블과 부서테이블,업무테이블을 조인해서
- --사원ID가 100인 사람의 사원ID와 근무지ID, 업무제목를 출력해라.
- SELECT e.employee_id 사원ID,
- d.location_id 근무지ID,
- j.job_title 업무제목
- FROM employees e
- JOIN departments d ON e.department_id = d.department_id
- JOIN jobs j ON j.job_id = e.job_id
- AND e.employee_id=100;
- --Q1) employees 와 departments 테이블을 조인하여
- --사원이름이 ‘Steven’인 사원의 이름과 성, 부서명을 출력하되
- --부서명이 Executive일때는 행정부, Shipping일때는 발송부라고 출력하라.
- SELECT e.first_name 이름,
- e.last_name 성,
- decode(d.department_name,
- 'Executive','행정부',
- 'Shipping','발송부') 부서명
- FROM employees e, departments d
- WHERE e.department_id=d.department_id
- AND e.first_name='Steven';
- SELECT e.first_name 이름,
- e.last_name 성,
- decode(d.department_name,
- 'Executive','행정부',
- 'Shipping','발송부') 부서명
- FROM employees e JOIN departments d
- ON e.department_id=d.department_id
- AND e.first_name='Steven';
- --Q2) employees 와 departments 테이블을 조인하여
- --급여가 12000이상인 사원의 부서ID,부서명,이름,급여를 출력하라.
- --(급여의 내림차순으로 정렬)
- SELECT e.department_id 부서ID,
- d.department_name 부서명,
- e.first_name 이름,
- e.last_name 성,
- e.salary 급여
- FROM employees e, departments d
- WHERE e.department_id = d.department_id
- AND e.salary >= 12000
- ORDER BY salary DESC;
- SELECT e.department_id 부서ID,
- d.department_name 부서명,
- e.first_name 이름,
- e.last_name 성,
- e.salary 급여
- FROM employees e JOIN departments d
- ON e.department_id = d.department_id
- AND e.salary >= 12000
- ORDER BY salary DESC;
- SELECT e.department_id 부서ID,
- d.department_name 부서명,
- e.first_name 이름,
- e.last_name 성,
- e.salary 급여
- FROM employees e CROSS JOIN departments d ;
- SELECT * FROM jobs;
- --1.비교연산자 사용
- SELECT e.employee_id, e.salary, j.job_title
- FROM employees e, jobs j
- WHERE e.salary >= 15000 AND e.salary <= j.max_salary;
- --2.~BEWEEN ~AND~사용
- SELECT e.employee_id, e.salary, j.job_title
- FROM employees e, jobs j
- WHERE e.salary BETWEEN 15000 AND j.max_salary;
- --문제2>사원테이블과 업무테이블을 조인 (표준조인) 해서
- --급여가 15000이상 최고연봉이하인 사원ID, 급여, 업무제목을 출력하라.
- SELECT e.employee_id, e.salary, j.job_title
- FROM employees e
- JOIN jobs j ON e.salary BETWEEN 15000 AND j.max_salary;
- --예)employees 테이블에서 자신의 매니저의 이름을 검색하세요.
- SELECT e1.employee_id,
- e1.first_name ||' 의 매니저 '|| nvl(e2.first_name,'없음')
- FROM employees e1,employees e2
- WHERE e1.manager_id=e2.employee_id
- ORDER BY e1.employee_id ASC;
- SELECT e1.employee_id,
- e1.first_name ||' 의 매니저 '|| nvl(e2.first_name,'없음')
- FROM employees e1,employees e2
- WHERE e1.manager_id=e2.employee_id (+)
- ORDER BY e1.employee_id ASC;
- SELECT e.employee_id, e.first_name, d.department_name
- FROM employees e, departments d
- WHERE e.department_id(+) = d.department_id
- ORDER BY e.employee_id DESC;
- SELECT e.employee_id, e.first_name, d.department_name
- FROM employees e LEFT OUTER JOIN departments d
- ON e.department_id = d.department_id
- ORDER BY e.employee_id DESC;
- SELECT e.employee_id, e.first_name, d.department_name
- FROM employees e RIGHT OUTER JOIN departments d
- ON e.department_id = d.department_id
- ORDER BY e.employee_id DESC;
- SELECT e.employee_id, e.first_name, d.department_name
- FROM employees e full OUTER JOIN departments d
- ON e.department_id = d.department_id
- ORDER BY e.employee_id DESC;
- SELECT e.employee_id, e.first_name, d.department_name
- FROM employees e JOIN departments d
- USING(department_id);
- --1.사원 테이블과 부서 테이블을 조인하여 모든 사원ID,
- --사원이름,급여,부서명을 출력하라. (부서명 내림차순 정렬)
- SELECT e.employee_id 사원ID, e.first_name 사원이름,
- e.salary 급여, d.department_name 부서명
- FROM employees e LEFT OUTER JOIN departments d
- USING(department_id) ORDER BY d.department_name DESC;
- --2. 사원 테이블과 부서 테이블을 조인하여 직업ID가
- --‘IT_PROG‘ 인 사원들의 사원이름, 직업ID,부서명, 위치ID를 출력하세요.
- SELECT e.first_name 사원이름, e.job_id 직업ID,
- d.department_name 부서명, d.location_id 위치ID
- FROM employees e INNER JOIN departments d
- ON e.department_id=d.department_id AND job_id='IT_PROG';
- --3. 부서 테이블과 사원 테이블,업무테이블에서 사번, 사원명, 업무, 급여 ,
- --부서명을 검색하시오. 단, 업무명이 '%Manager' 이며
- --급여가 8000 이상인 사원에 대하여 사번을 기준으로 오름차순 정렬할 것.
- SELECT e.employee_id 사번, e.first_name 사원명,
- j.job_title 업무명, e.salary 급여,
- d.department_name 부서명
- FROM employees e
- JOIN departments d ON e.department_id = d.department_id
- JOIN jobs j ON j.job_id = e.job_id
- AND job_title LIKE '%Manager'
- AND e.salary>=8000
- ORDER BY e.employee_id ASC;
- --MAIN-QUERY
- SELECT * FROM employees
- WHERE salary <
- (SELECT ROUND(AVG(salary),0) FROM employees);
- -- SUB-QUERY
- SELECT ROUND(AVG(salary),0) FROM employees;
- --Q1) 입사번호(사원ID)가 103인 사원과 같은 직업(job_id)을 가진
- --사원들의 정보를 출력하시오.
- SELECT employee_id, first_name||' '||last_name, job_id
- FROM employees
- WHERE job_id =
- ( SELECT job_id FROM employees WHERE employee_id=103 );
- --Q2) Diana Lorentz와 같은 부서의 사원들의 정보를 출력하시오.
- SELECT * FROM employees
- WHERE department_id =
- ( SELECT department_id FROM employees
- WHERE first_name='Diana' AND last_name='Lorentz' );
- SELECT first_name||' '||last_name,job_id,hire_date,
- salary,department_id
- FROM employees
- WHERE salary IN
- ( 4200);
- SELECT first_name||' '||last_name,job_id,hire_date,
- salary,department_id
- FROM employees
- WHERE salary IN
- ( SELECT MIN(salary) FROM employees GROUP BY job_id);
- --사원 테이블에서
- --업무별로 평균 급여가 14000이상인 사원의
- --최소급여보다 많은 급여를 받는 사원의 정보를
- --사원번호,이름,업무,입사일자,급여,부서번호를 출력하라.
- SELECT first_name||' '||last_name,job_id,hire_date,
- salary,department_id
- FROM employees
- WHERE salary > ANY( SELECT avg(salary) FROM employees
- WHERE salary>=14000 GROUP BY job_id);
- --사원 테이블에서
- --업무별로 평균 급여가 14000이상인 사원의
- --최대급여보다 적은 급여를 받는 사원의 정보를
- --사원번호,이름,업무,입사일자,급여,부서번호를 출력하라.
- SELECT first_name||' '||last_name,job_id,hire_date,
- salary,department_id
- FROM employees
- WHERE salary < ANY( SELECT avg(salary) FROM employees
- WHERE salary>=14000 GROUP BY job_id);
- SELECT avg(salary) FROM employees
- WHERE salary>=14000 GROUP BY job_id;
- --복수행 복수 컬럼
- SELECT first_name||' '||last_name,job_id,hire_date,
- salary,department_id
- FROM employees
- WHERE (job_id,salary) IN
- ( SELECT job_id, MIN(salary) FROM employees GROUP BY job_id);
- SELECT job_id, MIN(salary) FROM employees GROUP BY job_id;
- --모든사원들의 각 사원별 금액을 출력하되
- --해당 사원보다 적은금액을 받는 사원들 중에서
- --가장 금액이 놓은 사원정보를 출력하라.
- SELECT employee_id,salary
- FROM employees
- WHERE salary=(SELECT max(salary)
- FROM employees
- WHERE salary<any(SELECT salary FROM employees
- WHERE employee_id=108));
- --‘David Austin’의 직업을 ‘John Chen’인 사람의 직업과
- --같은 직업으로 변경하세요
- SELECT job_id FROM employees
- WHERE first_name='David' AND last_name='Austin';
- SELECT job_id FROM employees
- WHERE first_name='John' AND last_name='Chen';
- UPDATE employees SET job_id=(SELECT job_id FROM employees
- WHERE first_name='John' AND last_name='Chen')
- WHERE first_name='David' AND last_name='Austin';
- --‘John Chen’과 연봉이 같은 사람들의
- --직업을 ‘John Chen’인 사람의 직업과
- --같은 직업으로 변경하세요
- UPDATE employees SET job_id=(SELECT job_id FROM employees
- WHERE first_name='John' AND last_name='Chen')
- WHERE salary = (SELECT salary FROM employees
- WHERE first_name='John' AND last_name='Chen');
- SELECT salary FROM employees
- WHERE first_name='John' AND last_name='Chen';
- SELECT job_id,first_name,salary FROM employees
- WHERE salary=8200;
- --최소급여를 받는 사원들을 삭제 하라.
- --확인 출력하시오.
- SELECT employee_id,first_name,salary
- FROM employees
- WHERE salary = (SELECT min(salary) FROM employees);
- DELETE FROM employees
- WHERE salary = (SELECT min(salary) FROM employees);
- --1. 사원과 부서 TABLE을 JOIN하여 부서ID,부서명,이름,급여를 출력하라. (단,ANSI JOIN을 사용하라.)
- SELECT d.department_id,d.department_name,
- first_name||' '||last_name,salary
- FROM employees e JOIN departments d
- ON e.department_id = d.department_id;
- SELECT department_id,department_name,
- first_name||' '||last_name,salary
- FROM employees JOIN departments USING (department_id);
- --2. 이름이 'Steven'인 사원의 부서명을 출력하라.
- SELECT department_id,department_name
- FROM departments
- WHERE department_id IN
- (SELECT department_id FROM employees WHERE first_name='Steven');
- --3. 부서TABLE에 있는 모든 부서를 출력하고,
- --사원 TABLE에 있는 DATA와 JOIN하 여
- --모든 사원의 이름,부서ID,부서명,급여를 출력하라.
- SELECT department_name FROM departments;
- SELECT first_name||' '||last_name,
- department_id,department_name,salary
- FROM employees LEFT OUTER JOIN departments
- USING (department_id);
- SELECT first_name||' '||last_name,
- department_id,department_name,salary
- FROM employees full OUTER JOIN departments
- USING (department_id);
- --4. 사원TABLE에 있는 모든 employee_id와 manager_id을
- --이용하여 서로의 관계를 다음과 같이 출력하라.
- --(예:Neena 의 매니져는 Steven이다.
- --단 매니저가 없으면 없음 으로 표시할것.)
- SELECT e1.first_name||' 의 매니져는 '||
- nvl(e2.first_name,'없음') ||' 이다.'
- FROM employees e1 LEFT OUTER JOIN employees e2
- ON e1.manager_id = e2.employee_id;
- --5-1. ‘Neena'의 직무와 같은 사원이름,부서ID,급여,직무를 출력하라.
- SELECT first_name||' '||last_name,
- department_id, salary, job_id
- FROM employees
- WHERE job_id =
- (SELECT job_id FROM employees WHERE first_name='Neena');
- --5-2. ‘Neena'의 직무와 같은 사원이름,부서명,급여,직무를 출력하라.
- SELECT e.first_name||' '||e.last_name,
- d.department_name, e.salary, e.job_id
- FROM employees e , departments d
- WHERE e.department_id = d.department_id
- AND job_id =
- (SELECT job_id FROM employees WHERE first_name='Neena');
- --6. ‘John'가 속해있는 부서의 모든 사람의
- --부서번호,사원ID,이름,입사일, 급 여를 출력하라.
- SELECT first_name||' '||last_name,department_id
- FROM employees WHERE first_name='John';
- --//헉,,,ㅡ,ㅡ,;; 3명이군 50,80,100번 부서
- SELECT employee_id,first_name||' '||last_name,
- department_id,hire_date,salary
- FROM employees
- WHERE department_id IN
- (SELECT department_id FROM employees WHERE first_name='John');
- --7-1. 전체 사원의 평균임금보다 많은 사원의 사원번호,
- --이름,부서명, 입사일, 급여를 출력하라.
- SELECT e.employee_id,e.first_name||' '||e.last_name,
- d.department_name,e.hire_date
- FROM employees e JOIN departments d
- ON d.department_id = e.department_id
- AND (salary > (SELECT avg(salary) FROM employees));
- --7-2. 전체 사원의 평균임금보다 많은 사원의 사원번호,
- --이름,부서명, 입사일,지역명 , 급여를 출력하라.
- SELECT e.employee_id,e.first_name||' '||e.last_name,
- d.department_name,e.hire_date ,loc.city
- FROM employees e JOIN departments d
- ON d.department_id = e.department_id
- JOIN locations loc ON d.location_id = loc.location_id
- AND (salary > (SELECT avg(salary) FROM employees));
- --8. 10번 부서 사람들 중에 20번 부서의 사원과 같은 업무를 하는
- --사원의 사원번호, 업무,이름,부서명,입사일,지역명을 출력하라.
- SELECT job_id FROM employees
- WHERE department_id=10;--//AD_ASST
- SELECT job_id FROM employees
- WHERE department_id=20;--//MK_MAN,MK_REP
- --//공통업무가 없지만 오류가 나지 않도록 아래와 같이 실행문을 작성해 주자.
- SELECT e.employee_id,e.job_id,e.first_name,
- d.department_name,hire_date ,loc.city
- FROM employees e JOIN departments d
- ON d.department_id = e.department_id
- JOIN locations loc ON d.location_id = loc.location_id
- AND e.department_id = 10
- AND job_id IN
- (SELECT job_id FROM employees WHERE e.department_id=20);
- --9. 10번 부서 중에서 30번 부서에는 없는 업무를 하는
- --사원의 사원번호,업무,이 름,부서명,입사일,지역을 출력하라.
- SELECT e.employee_id,e.job_id,e.first_name,
- d.department_name,hire_date ,loc.city
- FROM employees e JOIN departments d
- ON d.department_id = e.department_id
- JOIN locations loc ON d.location_id = loc.location_id
- AND e.department_id = 10
- AND (job_id NOT IN
- (SELECT job_id FROM employees WHERE e.department_id=30));
- --10. 10번 부서와 같은 일을 하는 사원의 사원번호,업무,이름,
- --부서번호,부서명, 지역,급여를 급여를 출력하라.
- SELECT e.employee_id,e.job_id,e.first_name,
- d.department_name,loc.city,e.salary
- FROM employees e JOIN departments d
- ON d.department_id = e.department_id
- JOIN locations loc
- ON d.location_id = loc.location_id
- AND (job_id IN
- (SELECT job_id FROM employees WHERE e.department_id=10));
- --11. ‘Neena' 혹은 ‘David'의 급여와 같은 사원의
- --사원번호,이름,급여를 출력하라
- SELECT employee_id,first_name||' '||last_name,salary
- FROM employees
- WHERE salary IN
- (SELECT salary FROM employees
- WHERE first_name='Neena' OR first_name='David');
- SELECT salary FROM employees
- WHERE first_name='Neena' OR first_name='David';
- --12. 급여가 30번 부서의 최고 급여보다 높은 사원의
- --사원번호,이름,급여를 출력 하라.
- SELECT employee_id,first_name||' '||last_name,salary
- FROM employees
- WHERE salary >all
- (SELECT salary FROM employees WHERE department_id=30);
- SELECT employee_id,first_name||' '||last_name,salary
- FROM employees
- WHERE salary >
- (SELECT max(salary) FROM employees WHERE department_id=30);
- --13. 급여가 30번 부서의 최저 급여보다 낮은
- --사원의 사원번호,이름,급여를 출력 하라.
- SELECT employee_id,first_name||' '||last_name,salary
- FROM employees
- WHERE salary < ALL
- (SELECT salary FROM employees WHERE department_id=30);
- SELECT employee_id,first_name||' '||last_name,salary
- FROM employees
- WHERE salary <
- (SELECT min(salary) FROM employees WHERE department_id=30);
- --14. 급여가 90번 부서의 최저 급여보다 높은 사원의 사원번호,
- --이름,급여를 출력 하라.
- SELECT employee_id,first_name||' '||last_name,salary
- FROM employees
- WHERE salary > any
- (SELECT salary FROM employees WHERE department_id=90);
- SELECT employee_id,first_name||' '||last_name,salary
- FROM employees
- WHERE salary >
- (SELECT min(salary) FROM employees WHERE department_id=90);
- --15. 급여가 90번 부서의 최고 급여보다 낮은 사원의
- --사원번호,이름,급여를 출력 하라.
- SELECT employee_id,first_name||' '||last_name,salary
- FROM employees
- WHERE salary < any
- (SELECT salary FROM employees WHERE department_id=90);
- SELECT employee_id,first_name||' '||last_name,salary
- FROM employees
- WHERE salary <
- (SELECT max(salary) FROM employees WHERE department_id=90);
- --16. 사원이름과 부서명을 출력하라.
- --(단,뷰나 조인을 사용하지 말고 서브쿼리 쓸 것)
- SELECT e.first_name||' '|| e.last_name 사원이름,
- (SELECT d.department_name FROM departments d
- WHERE e.department_id = d.department_id ) 부서명
- FROM employees e;
728x90
반응형
'ORACLE' 카테고리의 다른 글
오라클 암호화/복호화 쿼리 - 유용 (0) | 2015.12.28 |
---|---|
DBMS_CRYPTO를 이용한 AES256 알고리즘 암호화/복호화 (0) | 2015.12.23 |
데이터 병합 (0) | 2015.12.21 |
WGS-84 방식의 좌표값을 가지는 두 좌표의 거리를 구하는 함수 (0) | 2015.12.20 |
25가지 효율적인 sql작성법 (0) | 2015.12.20 |