SQL에도 데이터나 행의 그룹의 값을 계산하거나, 조작하는 함수가 존재하는데, 이 글에는 아주 기초적인 SQL 내장 함수를 코드 작성 방법만 간단하게 정리했다.
COUNT
검색한 결과의 데이터 개수를 가져오는 내장 함수
SELECT COUNT(COL) FROM myData; -- 특정 컬럼 COL의 레코드 개수
SELECT COUNT(*) FROM myData; -- 모든 컬럼의 데이터 개수. 즉 데이터의 전체 크기를 파악
SUM
지정한 컬럼의 값을 모두 더하여 총합을 구하는 내장 함수
SELECT SUM(COL) FROM myData; -- 컬럼 COL에 대한 합계
AVG
지정한 컬럼의 값의 평균값을 구하는 내장 함수
SELECT AVG(COL1), AVG(COL2), AVG(COL3) FROM myData; -- 원하는 여러 개의 컬럼 각각의 평균을 구할 수 있음.
MAX & MIN
테이블에 존재하는 데이터의 최댓값, 최솟값을 가져오는 내장 함수
SELECT MAX(COL) FROM myData; -- 컬럼 COL의 최대값
SELECT MIN(COL) FROM myData; -- 컬럼 COL의 최소값
GROUP BY / HAVING
데이터를 특정 컬럼에 대해 그룹을 지어주는 함수이며, LIMIT, ORDER BY처럼 주로 SELECT문의 맨 끝에 위치한다. HAVING은 생략 가능하며, 데이터 그룹에 조건을 적용하고 싶은 경우에 작성한다. 사용 예시는 아래와 같다.
-- GROUP BY
-- 특정 컬럼 COL에 대해 데이터의 개수 출력
SELECT COL, COUNT(*) FROM myData GROUP BY COL;
-- 특정 컬럼 COL1에 대해 COL2의 합계 출력
SELECT COL1, SUM(COL2) FROM myData GROUP BY COL1;
-- 특정 컬럼 COL1에 대해 COL2의 평균 출력
SELECT COL1, AVG(COL2) FROM myData GROUP BY COL1;
-- 특정 컬럼 COL1에 대해 COL2의 최대값 출력
SELECT COL1, MAX(COL2) FROM myData GROUP BY COL1;
-- 특정 컬럼 COL1에 대해 COL2의 최소값 출력
SELECT COL1, MIN(COL2) FROM myData GROUP BY COL1;
-- GROUP BY / HAVING
-- 특정 컬럼 COL에 대해 데이터 개수를 기준으로 그룹화를 하되, 개수가 1보다 큰 경우만 출력
SELECT COL, COUNT(*) FROM myData GROUP BY COL HAVING COUNT(COL) > 1;
'지극히 개인적인 공부 노트 > 데이터베이스(Database)' 카테고리의 다른 글
[SQL] JOIN 활용하기 (0) | 2021.09.26 |
---|---|
[SQL] 일반 집합 연산(feat. UNION, INTERSECT, EXCEPT) (0) | 2021.09.25 |
[SQL] 서브 쿼리와 서브 쿼리의 분류(feat. 반환, 위치에 따른 분류) (0) | 2021.09.24 |
[SQL] 대표적인 DML 명령어(feat. LIKE, ORDER BY, INSERT, UPDATE, DELETE) (0) | 2021.09.14 |
[SQL] 테이블에서 데이터 검색 및 조회하기(feat. 테이블, 컬럼, 레코드) (0) | 2021.09.14 |