1. GROUP BY
특정 칼럼을 기준으로 그룹화 할때
*
실제 출력되는 행의 개수가 감소
GROUP BY 보다 늦게 실행되는 (HAVING, OREDER BY, SELECT)절에서는 출력할수 있는 행 제한
but) 집계함수 (avg, max, min ,,)는 사용가능
*
다중행 함수 (집계함수) : 함수에 적용되는 행은 여러개, 결과값은 1개
ex) SUM(SALARY) : 1행 -> SALARY는 108행
단일행 함수(문자, 숫자, 날짜, , ,) : 함수에 적용되는 행 1개, 결과값 각 행에 대해
ex) UPPER, LOWER
(예제)
성적표 테이블에서 학생별로 평균점수 출력
단, 소수점 1자리까지만 출력
*
COUNT(컬럼), COUNT(*)
COUNT(*) : NULL 포함해서 COUNT
(예제)
성적표 테이블에서 학생별로 JAVA와 DATABASE 성적의 평균 출력 / (과목은 java, database, python이 있음)
단 1의 자리에서 반올림
2.HAVING
GROUP BY 절을 통해서 그룹화 된 결과 중에서 원하는 결과로 필터링
HAVING + 그룹에대한 조건 (집계함수에 대한 조건)
집계함수(AVG, MAX, ,)는 HAVING에만 사용가능/ WHERE절에는 집계함수 사용 불가
(예제)
학생별 평균 성적이 75점 이하인 학생만 출력
(예제)
수강생 정보에서 소속된 팀의 인원수가 3명이상인 팀만 출력
(예제)
(예제)
'학습 기록 > DataBase' 카테고리의 다른 글
23.05.10 / DataBase / DML (0) | 2023.05.10 |
---|---|
23.05.09 / DataBase / ORDER BY, JOIN (0) | 2023.05.09 |
23.05.04 / DataBase / 함수 (0) | 2023.05.07 |
23.05.03 / DataBase / WHERE (0) | 2023.05.06 |
23.05.02 / DataBase / SELECT, DISTINCT (0) | 2023.05.06 |