GROUP BY, HAVING, ORDER BY 절

2023. 8. 8. 11:29· 카테고리 없음
목차
  1. 다중행 집계 함수
  2. GROUP BY 절, HAVING 절의 특징
  3. ORDER BY 특징
  4. SELECT 문장 실행 순서
  5. SQL Server의 WITH TIES
반응형

다중행 집계 함수

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 절, HAVING 절의 특징
  3. ORDER BY 특징
  4. SELECT 문장 실행 순서
  5. SQL Server의 WITH TIES
Jong_seoung
Jong_seoung
기록하자, 머리는 생각하는 곳이지 저장장치가 아니다.
반응형
Jong_seoung
Today_developStory
Jong_seoung
전체
오늘
어제

블로그 메뉴

  • Home
  • Git Hub
  • 분류 전체보기 (351)
    • Theory (16)
    • Java (3)
      • 알고리즘 (2)
      • 문법 (0)
    • Spring (7)
      • 스프링 입문 (6)
      • PickTalk (0)
      • 에러처리 (1)
    • Python (80)
      • 알고리즘 - 이론 (17)
      • 알고리즘 - 내장함수, 라이브러리 등등 (3)
      • 알고리즘 - 백준 (53)
      • 나도코딩 정리 (2)
      • 기타 (5)
    • Django (159)
      • DRF (105)
      • 인프라 (46)
      • DataBases (2)
      • API Docs (6)
    • FrontEnd (22)
      • htmx (2)
      • React (8)
      • 자바스크립트 (12)
    • GIT (16)
    • 기타 (8)
      • 정리 (2)
      • Flutter (1)
      • 마이크로프로세서 - ATmega128 (2)
      • 개발환경 세팅 (3)
    • 자격증 (37)
      • 정보처리기사 (19)
      • SQLD자격증 (18)

인기 글

최근 글

태그

  • alarm
  • BFS
  • CSRF
  • Django
  • django channels
  • django sse
  • django tutorial
  • django 배포
  • django 스웨거 적용
  • Django 이미지 저장

최근 댓글

hELLO · Designed By 정상우.v4.3.0
Jong_seoung
GROUP BY, HAVING, ORDER BY 절
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.