Database : Basic SQL문_퀴즈(1)


QUIZ

1. 각 직무 유형(job_id)에 대해 최소, 최대, 합계 및 평균 급여를 표시하도록 쿼리를 작성합니다.

정답)
select job_id, max(salary), min(salary), sum(salary), avg(salary)
from employees
group by job_id
order by job_id;
* jobid의 경우는 개별행이기 때문에 그룹행으로 묶어주어야 합니다.--
   

2. 사원의 총 수와 2002, 2003, 2004년 및 2005년에 채용 사원의 수를 표시하는 쿼리를 작성합니다. 적절한 열 머리글을 지정하십시오.

정답)
select count(*) AS "총 사원 수",
sum(decode(to_char(hire_date,'yyyy'), '2002', 1, 0)) "2002",
sum(decode(to_char(hire_date,'yyyy'), '2003', 1, 0)) "2003",
sum(decode(to_char(hire_date,'yyyy'), '2004', 1, 0)) "2004",
sum(decode(to_char(hire_date,'yyyy'), '2005', 1, 0)) "2005"
from employees;
 
* decode (조건부 표현식-where같은 기능을 보입니다.).
* count 보다는 sum함수를 더 많이 사용합니다.
* 2001년도와 같으면 1이며 그 1을 더해라. 2001년에 입사한 사람 수를 알 수 있습니다.
* to_char(입사 일자, 연산자)를 사용하면 입사날을 알 수 있습니다.
 

3.부서 20, 50, 80 90에 대해 직무(job_id), 부서 ID(department_id)별 해당 직무에 대한 급여 및 해당 직무에 대한 총 급여를 표시하고 각 열에 적절한 머리글을 지정하기 위한 행렬 쿼리를 작성합니다.

정답)
select job_id,
sum(decode(department_id, 20, salary, 0)) dept_20,
sum(decode(department_id, 50, salary, 0)) dept_50,
sum(decode(department_id, 80, salary, 0)) dept_80,
sum(decode(department_id, 90, salary, 0)) dept_90
from employees
group by job_id;
    
 
 

댓글

이 블로그의 인기 게시물

4. Databricks - Azure Data Lake Storage Gen2 연동하기

3. Azure Databricks Secret으로 Blob Storage Mount

1. Azure Databricks CLI 설치하기