본문 바로가기

SQL

[SQL] 11장. DML(SELECT) 활용 - 집계 함수

반응형

1. UNION, UNION ALL

합하다, 합치다, 합집합
UNION: 병합 시 중복 제거 O
UNION ALL: 병합 시 중복 제거 X

SELECT 이름, 수업명 FROM 포켓몬_EJH
UNION
SELECT 이름, 수업명 FROM 포켓몬_EJH2;

2. GROUP BY

용도: 데이터 그룹화하여 결과를 조회하고자 할 때 사용

SELECT 컬럼1, 컬럼2
FROM 테이블
WHERE 조건
GROUP BY (컬럼1, 컬럼2);

SELECT DISTINCT(성적)
FROM 포켓몬_EJH;

3. 그룹 함수 - 집계

-- SUM 그룹의 누적 합계
-- AVG 그룹의 평균
-- COUNT 그룹의 총 개수
-- MAX 그룹의 최대값
-- MIN 그룹의 최소값

1) SUM - 별칭

SELECT SUM(성적) 집계성적
FROM 포켓몬들의성적_EJH;

SELECT SUM(성적) '집계 성적' -- 컬럼명에 띄어쓰기 있을 경우
FROM 포켓몬들의성적_EJH;

SELECT SUM(성적) AS '집계성적' -- 별칭 키워드 AS 사용
FROM 포켓몬들의성적_EJH;

2) AVG

SELECT AVG(성적)
FROM 포켓몬들의성적_EJH;

3) COUNT

SELECT COUNT(*)
FROM 포켓몬들의성적_EJH;

4) MIN, MAX

SELECT MIN(성적)
FROM 포켓몬들의성적_EJH;

-- 특정 과목의 과목 평균 구하기
SELECT 과목코드
FROM 포켓몬들의성적_EJH
GROUP BY 과목코드;

 


4. 그룹 함수의 실행순서

@@@@@@@@@@@@@@@@@@@@ 실행순서 @@@@@@@@@@@@@@@@@@@@

SELECT ~ // 조회할 컬럼 * 필수 실행순서: 5
FROM ~ // 조회대상 테이블 * 필수 실행순서: 1
WHERE ~ // 조회할 행을 제한 * 실행순서: 2
GROUP BY ~ // 조회된 행을 그룹핑 * 실행순서: 3
HAVING ~ // 그룹함수를 사용해서 행을 제한 * 실행순서: 4
ORDER BY ~ // 조회된 행을 정렬 * 실행순서: 6


5. ORDER BY

용도: 쿼리의 결과를 정렬

SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY 컬럼명1 정렬방법, 컬럼명2 정렬방법
-- 정렬방법 2가지 ASC, DESC
SELECT *
FROM 포켓몬_EJH
ORDER BY 이름 ASC, 성적 DESC;

6. TOP과 LIMIT

-- TOP
SELECT TOP(2) * -- MS 문법
FROM 포켓몬_EJH
ORDER BY 이름 ASC, 성적 DESC;
-- LIMIT는 My 문법
SELECT *
FROM 포켓몬
LIMIT 5; -- 상위 5열만 가져오기

SELECT *
FROM 포켓몬
LIMIT 2, 5; -- 상위 인덱스 2번부터 5번까지 가져오기

7. 기타 함수

-- 함수 목록
SELECT SUBSTRING('일이삼사오육칠', 1, 4);
SELECT LEFT('일이삼사오육칠', 2);
SELECT RIGHT('일이삼사오육칠', 2);

SELECT LEN('일이삼사오육칠');
SELECT DATALENGTH('일이삼사오육칠');

SELECT CONCAT('일이삼사', '오', '육칠');
SELECT REPLACE('이것을 바꾸기', '이걸로');

아래 글에 매우 정리가 잘 되어있다.
https://blog.naver.com/k2romeo/150015255929

 

ms sql 함수 목록

숫자 관련 함수 ▶ ABS(숫자) : 절대값 출력.    select abs(123);▶ CEILIN...

blog.naver.com

 

반응형