SQL 코드:
SELECT COUNT(), COUNT(COMMISSION_PCT),
AVG(SALARY), COUNT(DISTINCT DEPARTMENT_ID)
FROM EMPLOYEES e;
설명:
이 쿼리는 전체 사원 수, 커미션이 있는 사원 수, 평균 연봉, 그리고 등록된 부서 수를 계산합니다. 사용된 집계 함수는 다음과 같습니다:
COUNT(): 전체 사원 수를 셉니다.
COUNT(COMMISSION_PCT): 커미션이 있는 사원 수를 셉니다.
AVG(SALARY): 평균 연봉을 계산합니다.
COUNT(DISTINCT DEPARTMENT_ID): 고유한 부서 수를 셉니다.
이 쿼리는 다양한 집계 함수를 통해 데이터의 전반적인 통계를 제공합니다.
SQL 코드:
SELECT JOB_ID, AVG(SALARY) , SUM(SALARY)
FROM EMPLOYEES e
GROUP BY JOB_ID
HAVING AVG(SALARY) >= 10000;
설명:
이 쿼리는 업무별로 평균 급여가 10000 이상인 업무의 평균 급여와 급여 합계를 계산합니다. 사용된 집계 함수는 다음과 같습니다:
AVG(SALARY): 업무별 평균 급여를 계산합니다.
SUM(SALARY): 업무별 급여 합계를 계산합니다.
GROUP BY JOB_ID로 업무별로 데이터를 그룹화하고, HAVING AVG(SALARY) >= 10000으로 평균 급여가 10000 이상인 업무만 필터링합니다.
SQL 코드:
SELECT MANAGER_ID, MIN(SALARY)
FROM EMPLOYEES e
WHERE MANAGER_ID IS NOT NULL
GROUP BY MANAGER_ID
ORDER BY MIN(SALARY) DESC;
설명:
SELECT MANAGER_ID, MIN(SALARY)
이 구문은 매니저 ID와 그 매니저가 관리하는 직원들 중에서 가장 낮은 연봉을 조회합니다. MIN(SALARY)는 그룹화된 각 매니저 ID에 대해 직원들 중 최저 연봉을 반환합니다.
FROM EMPLOYEES e
데이터는 EMPLOYEES 테이블에서 가져옵니다.
WHERE MANAGER_ID IS NOT NULL
이 조건은 매니저 ID가 NULL이 아닌 사원만을 선택합니다. 즉, 매니저가 지정된 직원들만 포함됩니다. 매니저가 없는 직원들은 결과에서 제외됩니다.
GROUP BY MANAGER_ID
이 구문은 매니저 ID별로 데이터를 그룹화합니다. 각 매니저에 대해 관리하는 직원들의 연봉을 그룹화하여 계산할 수 있습니다.
ORDER BY MIN(SALARY) DESC
이 구문은 결과를 MIN(SALARY) 즉, 각 매니저가 관리하는 직원들 중 최저 연봉 기준으로 내림차순으로 정렬합니다. 따라서 가장 높은 최저 연봉을 받는 매니저부터 시작하여 결과가 정렬됩니다.