다중행 집계 함수
1. 여려 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수이다.
2. GROUP BY 절은 행들을 소그룹화 한다.
3. SELECT 절, HAVING절, ORDER BY절에 사용할 수 있다.
집계 함수명 ([DISTINCT | ALL] 칼럼이나 표현식)
- ALL : Default 옵션. 생략 가능
- DISTINCT : 같은 값을 하나의 데이터로 간주 옵션
COUNT(*) : NULL 포함 행의 수
COUNT(표현식) : NULL 제외 행의 수
SUN, AVG : NULL 제외 합계, 평균 연산
STDDEV : 표준 편차
VARIAN : 분산
MAX, MIN : 최댓값, 최솟값
GROUP BY 절, HAVING 절의 특징
1. GROUP BY 절을 통해 소그룹별 기준을 정한 후, SELECT 절에 집계 함수를 사용한다.
2. 집계 함수의 통계 정보는 NULL 값을 가진 행을 제외하고 수행한다.
3. GROUP BY 절에서는 ALIAS 사용 불가
4. 집계 함수는 WHERE 절에 올 수 없다.
5. HAVING 절에는 집계함수를 이용하여 조건을 표시한다
6. HAVING 절은 일반적으로 GROUP BY뒤에 위치한다.
SEARCHED_CASE_EXPRESSION
CASE WHEN LOC = 'a' THEN 'b'
SIMPLE_CASE_EXPRESSION
CASE LOC WHEN 'a' THEN 'b'
= DOCODE(LOC, 'a', 'b')
ELSE NULL이 생략되어 있음
ORDER BY 특징
1. SQL 문장으로 조회된 데이터들을 다양한 목적에 맞게 특정한 칼럼을 기준으로 정렬하여 출력하는 데 사용된다.
2. ORDER BY 절에 칼럼명 대신 ALIAS 명이나 칼럼 순서를 나타내는 정수도 사용 가능하다.
3. DEFAULT값으로 오름차순(ASC)이 적용되며 DESC 옵션을 통해 내림차순으로 정렬이 가능하다.
4. SQL 문장의 제일 마지막에 위치한다.
5. SELECT 절에서 정의하지 않은 칼럼도 사용 가능하다.
* Oracle에서는 NULL을 가장 큰 값으로 취급하며 SQL Server에서는 NULL을 가장 작은 값으로 취급한다.
SELECT 문장 실행 순서
SELECT ALIAS -> FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY
메모리에서 모든 칼럼을 올리므로 ORDER BY에서 SELECT에 정의 안된 칼럼을 사용해도 됨
SQL Server의 WITH TIES
SELECT TOP(2) WITH TIES ENAME, SQL FROM EMP
ORDER BY SAL DESC:
급여가 높은 두 명을 내림차순으로 출력하는데, 같은 급여를 받는 사원은 같이 출력한다.
참고 사이트
요약 정리본 : https://yurimac.tistory.com/40
SQL) SQLD 이론 요약 정리 PDF
13페이지 분량의 SQLD 이론 요점 정리 PDF 파일을 공유합니다. 원본에서 필요하다 생각된 부분들을 추가, 삭제했습니다. 나름 오래 걸렸네요.. 🥲 2장 3절인 SQL 최적화 부분은 개정판부터 제거됐다
yurimac.tistory.com
DATE ON-AIR: https://dataonair.or.kr/db-tech-reference/d-guide/sql/?pageid=5&mod=list
SQL – DATA ON-AIR
dataonair.or.kr
다중행 집계 함수
1. 여려 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수이다.
2. GROUP BY 절은 행들을 소그룹화 한다.
3. SELECT 절, HAVING절, ORDER BY절에 사용할 수 있다.
집계 함수명 ([DISTINCT | ALL] 칼럼이나 표현식)
- ALL : Default 옵션. 생략 가능
- DISTINCT : 같은 값을 하나의 데이터로 간주 옵션
COUNT(*) : NULL 포함 행의 수
COUNT(표현식) : NULL 제외 행의 수
SUN, AVG : NULL 제외 합계, 평균 연산
STDDEV : 표준 편차
VARIAN : 분산
MAX, MIN : 최댓값, 최솟값
GROUP BY 절, HAVING 절의 특징
1. GROUP BY 절을 통해 소그룹별 기준을 정한 후, SELECT 절에 집계 함수를 사용한다.
2. 집계 함수의 통계 정보는 NULL 값을 가진 행을 제외하고 수행한다.
3. GROUP BY 절에서는 ALIAS 사용 불가
4. 집계 함수는 WHERE 절에 올 수 없다.
5. HAVING 절에는 집계함수를 이용하여 조건을 표시한다
6. HAVING 절은 일반적으로 GROUP BY뒤에 위치한다.
SEARCHED_CASE_EXPRESSION
CASE WHEN LOC = 'a' THEN 'b'
SIMPLE_CASE_EXPRESSION
CASE LOC WHEN 'a' THEN 'b'
= DOCODE(LOC, 'a', 'b')
ELSE NULL이 생략되어 있음
ORDER BY 특징
1. SQL 문장으로 조회된 데이터들을 다양한 목적에 맞게 특정한 칼럼을 기준으로 정렬하여 출력하는 데 사용된다.
2. ORDER BY 절에 칼럼명 대신 ALIAS 명이나 칼럼 순서를 나타내는 정수도 사용 가능하다.
3. DEFAULT값으로 오름차순(ASC)이 적용되며 DESC 옵션을 통해 내림차순으로 정렬이 가능하다.
4. SQL 문장의 제일 마지막에 위치한다.
5. SELECT 절에서 정의하지 않은 칼럼도 사용 가능하다.
* Oracle에서는 NULL을 가장 큰 값으로 취급하며 SQL Server에서는 NULL을 가장 작은 값으로 취급한다.
SELECT 문장 실행 순서
SELECT ALIAS -> FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY
메모리에서 모든 칼럼을 올리므로 ORDER BY에서 SELECT에 정의 안된 칼럼을 사용해도 됨
SQL Server의 WITH TIES
SELECT TOP(2) WITH TIES ENAME, SQL FROM EMP
ORDER BY SAL DESC:
급여가 높은 두 명을 내림차순으로 출력하는데, 같은 급여를 받는 사원은 같이 출력한다.
참고 사이트
요약 정리본 : https://yurimac.tistory.com/40
SQL) SQLD 이론 요약 정리 PDF
13페이지 분량의 SQLD 이론 요점 정리 PDF 파일을 공유합니다. 원본에서 필요하다 생각된 부분들을 추가, 삭제했습니다. 나름 오래 걸렸네요.. 🥲 2장 3절인 SQL 최적화 부분은 개정판부터 제거됐다
yurimac.tistory.com
DATE ON-AIR: https://dataonair.or.kr/db-tech-reference/d-guide/sql/?pageid=5&mod=list
SQL – DATA ON-AIR
dataonair.or.kr