Database - SQL 실습 3

Bomin Seo·2022년 7월 24일
0

1. 모든 사원의 급여 최고액, 최저액, 총액 및 평균액을 표시하십시오. 열 레이블을 각각 Maximum, Minimum, Sum 및 Average로 지정하고 결과를 정수로 반올림 하십시오.
A.

SELECT ROUND(MAX(SALARY),0) "Maximum",  ROUND(MIN(SALARY),0) "Minimum",
ROUND(SUM(SALARY),0) "Sum", ROUND(AVG(SALARY),0) "Average"      
FROM EMPLOYEES;

2. 1번을 수정하여 각 업무 유형별로 표시하십시오.
A.

SELECT JOB_ID, ROUND(MAX(SALARY),0) "Maximum",  ROUND(MIN(SALARY),0) 
"Minimum", ROUND(SUM(SALARY),0) "Sum", ROUND(AVG(SALARY),0) "Average"      
FROM EMPLOYEES
GROUP BY JOB_ID

3. 업무가 동일한 사원 수를 표시하는 질의를 작성하십시오.
A.

SELECT JOB_ID, COUNT(*)      
FROM EMPLOYEES      
GROUP BY JOB_ID;

4. 관리자는 나열하지 말고 관리자 수를 확인하십시오. 열 레이블은 Number of Managers로 지정하십시오.
A.

SELECT COUNT(DISTINCT manager_id) "Number of Managers"     
FROM employees;

5. 최고 급여와 최저 급여의 차액을 표시하는 질의를 작성하고 열 레이블을 DIFFERENCE로 지정하십시오.
A.

SELECT MAX(salary) - MIN(salary) DIFFERENCE      
FROM EMPLOYEE

6. 관리자 번호 및 해당 관리자에 속한 사원의 최저 급여를 표시하십시오. 관리자를 알 수 없는 사원 및 최저 급여가 $6,000 미만인 그룹은 제외시키고 결과를 급여에 대한 내림차순으로 정렬하십시오.
A.

SELECT MANAGER_ID, MIN(SALARY)      
FROM EMPLOYEES      
WHERE MANAGER_ID IS NOT NULL      
GROUP BY MANAGER_ID      
HAVING MIN(SALARY) > 6000      
ORDER BY MIN(SALARY) DESC;

7. 각 부서에 대해 부서 이름, 위치, 사원 수 , 부서 내 모든 사원의 평균 급여를 표시하는 질의를 작성하고, 열 레이블을 각각 Name, Location, Number of People 및 Salary 로 지정하십시오. 평균 급여는 소수점 둘째 자리로 반올림하십시오.
A.

SELECT D.DEPARTMENT_NAME "Name", D.LOCATION_ID "Location", COUNT(*) "Number of People", 
ROUND(AVG(SALARY),2) "Salary"      
FROM EMPLOYEES E, DEPARTMENTS D      
WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID     
GROUP BY D.DEPARTMENT_NAME, D.LOCATION_ID;

8. 총 사원 수 및 2005, 2006, 2007, 2008년에 입사한 사원 수를 표시하는 질의를 작성하고 적합한 열 머리글을 작성하십시오.
A.

SELECT COUNT(*) total, SUM(DECODE(TO_CHAR(hire_date, 'YYYY'), 2005, 1, 0)) 
"2005", SUM(DECODE(TO_CHAR(hire_date, 'YYYY'), 2006, 1, 0)) "2006",
SUM(DECODE(TO_CHAR(hire_date, 'YYYY'), 2007, 1, 0)) "2007",
SUM(DECODE(TO_CHAR(hire_date, 'YYYY'), 2008, 1, 0)) "2008"      
FROM    employees;

9. 업무를 표시한 다음 해당 업무에 대해 급여 총액과 부서 별 급여 (20, 50, 80, 90)의 총액을 각각 표시하는 형렬 질의를 작성하고 각 열에 적합한 머리글을 지정하십시오.
A.

SELECT   job_id "Job", SUM(DECODE(department_id , 20, salary)) "Dept 20",
SUM(DECODE(department_id , 50, salary)) "Dept 50", 
SUM(DECODE(department_id , 	80, salary)) "Dept 80", SUM(DECODE(department_id , 90, salary)) "Dept 90",  	
SUM(salary) "Total"      
FROM     employees      
GROUP BY job_id;
profile
KHU, SWCON

0개의 댓글