[Oracle SQL] 단일행 서브쿼리 예제 풀이 (2)

yoonheekim·2022년 11월 7일
0

📚subquery : single-row-subquery

1. Employees 테이블에서 입사일자(hire_date)에 따라 2005년 입사한 직원들 가운데 first_name이 'Lisa'인 직원보다 빨리 입사한 직원의 사번(employee_id), 이름(first_name), 성(last_name), 입사일자(hire_date)를 조회하는 SQL 문장을 작성하시오. 단, <실행 결과>처럼 first_name과 하나의 공백(space bar), last_name 은 name 이라는 컬럼명으로 출력되도록 합니다.

select employee_id as EMPLOYEE_ID,
first_name ||''|| last_name as NAME,
hire_date as HIRE_DATE
from employees
where to_char(hire_date, 'YYYY') = '2005'
and hire_date < (select hire_date 
				from employees 
                where first_name = 'Lisa');

2.Sales’부서에 속한 직원의 이름(first_name), 급여(salary), 부서이름(department_name)을 조회하시오. 단, 급여는 100번 부서의 평균보다 적게 받는 직원 정보만 출력되어야 합니다.

select e.first_name, e.salary, d.department_name
from employees e, departments d
where e.department_id=d.department_id
and department_name = 'Sales' 
and salary < (select avg(salary) 
			from employees 
            where department_id = 100);

3. De Haan 사원의 관리자 사원번호, 이름(last_name), 입사일 및 급여를 표시하는 SQL문을 작성하십시오.alias를 포함하여 실행결과와 동일하게 출력되어야 합니다.

select e2.employee_id as EMPLOYEE_ID, e2.last_name AS LAST_NAME, e2.hire_date AS HIRE_DATE, e2.salary AS SALARY
from employees e, employees e2
where e.manager_id=e2.employee_id
and e.last_name like '%Haan%';
profile
개발 걸음마 떼기 👩🏻‍💻

0개의 댓글