ABOUT ME

AI 빅데이터 막 배우기 시작한 신입생의 studying~

Today
Yesterday
Total
  • SQL(GROUP BY)
    SQL 2023. 4. 18. 21:34

    ◆ GROUP BY 문을 사용하여 데이터 그룹핑("~별로" 표현)

    - 실행순서: FROM->WHERE->GROUP BY->SELECT

    - 예제

    SELECT DEPTNO
    	, SUM(SAL)
        , ROUND(AVG(SAL), 2)
       FROM EMP
      GROUP BY DEPTNO;
      
      
    SELECT 성별
      	, COUNT(*) AS CNT
        FROM 수강
       WHERE 강의번호 = 1 -- 데이터모델링과SQL
      GROUP BY 성별;

    ※ GROUP BY 사용시, Select List에는 Group by에 기술된 칼럼 외의 칼럼은 집계함수만 사용가능

     

    ◆ PRACTICE

    1) EMP테이블에서 직업 별로 최고 급여액, 최저 급여액, 총급여액, 평균 급여액을 표시하는 질의 작성

    SELECT JOB
    	, MAX(SAL) AS SAL_MAX
        , MIN(SAL) AS SAL_MIN
        , SUM(SAL) AS SAL_TOTAL
        , ROUND(AVG(SAL)) AS SAL_AVG
    	FROM EMP
       GROUP BY JOB

    2) EMP테이블에서 부서별로 사원수, 직업수, 총급여 평균급여를 출력하시오

    SELECT DEPTNO
    	, COUNT(*) AS DEPT_EMP_CNT
        , COUNT(DISTINCT(JOB)) AS JOB_CNT
        , SUM(SAL) AS TOT_SAL
        , ROUND(AVG(SAL), 2) AS AVG_SAL
    	FROM EMP
       GROUP BY DEPTNO

    3) EMP테이블에서 직업 별, 입사년도 별로 총 급여액을 표시하는 질의를 작성하시오

    SELECT JOB
    	, TO_CHAR(HIREDATE, 'YYYY') AS HIRE_YEAR
        , COALESCE(SUM(SAL), 0) AS SAL_TOTAL
    	FROM EMP
       GROUP BY JOB, HIRE_YEAR

    'SQL' 카테고리의 다른 글

    SQL(ORDER BY)  (0) 2023.04.18
    SQL(HAVING 절)  (0) 2023.04.18
    다중행 함수(집계함수 Aggregate Function)  (0) 2023.04.18
    SQL 함수(CASE 문)  (0) 2023.04.13
    SQL 함수(명시적 유형변환 함수)  (0) 2023.04.12
Designed by Tistory.