728x90
GROUP BY절
기준 열을 지정하여 그룹화하는 명령어입니다.SELECT 절에 열이름과 그룹함수를 함께 기술했다면, GROUP BY절을 반드시 사용해야합니다.
SELECT 기준열, 그룹함수(열이름)
FROM 테이블이름
[WHERE 조건식]
GROUP BY 열이름
[ORDER BY 열이름];
논리 순서 :
1.테이블에 접근
2.WHERE 조건식에 맞는 데이터값만 골라냄
3.기술된 기준열을 기준으로 같은 데이터 값끼리 그룹화
4.결과를 출력합니다.
5.오름차순(ASC 기본값) 혹은 내림차순(DESC)로 정렬합니다.
GROUP BY절 특징
- SELECT절에 기준열과 그룹함수가 같이 지정되면, GROUP BY절에 기준열이름이 반드시 기술되어야합니다.(SELECT 절에 그룹함수만 기술되고 열이름이 기술되지않으면, GROUP BY 절을 반드시 기술할 필요는 없음)
- WHERE 절을 사용하면 행을 그룹으로 묶기전에 앞서 조건식이 적용됩니다.
- SELECT 절에 그룹함수를 사용하지 않아도 GROUP BY 절만으로도 사용할수있습니다.
예제: employees테이블에서 employee_id가 10 이상인 직원에 대해 job_id별로 그룹화하여 job_id별 총급여와, job_id별 평균급여를 구하고, job_id별 총 급여를 기준으로 내림차순 정렬한다.
SELECT job_id 직무, SUM(salary) 직무별_총급여, AVG(salary) 직무별_평균급여
FROM employees
WHERE employee_id >= 10
GROUP BY job_id
ORDER BY 직무별_총급여 DESC. 직무별_평균급여
728x90
'STUDY > DB SQL' 카테고리의 다른 글
[SQL] 오라클 대소문자 구분없이 검색하기 (0) | 2023.02.20 |
---|---|
[SQL] LIKE 사용 - 전체 검색 및 특정 조건 검색 (0) | 2023.02.17 |
[SQL] ORDER BY 1 은 무엇일까? (0) | 2023.02.17 |
[MyBatis] xml 파일 ROWNUM 에러 (꺽쇠) (0) | 2023.02.06 |
[SQL] WHERE 1=1 의미 (0) | 2023.02.02 |