ORDER BY & aggregate Fn & GROUP By

최찬호·2023년 3월 30일
0

ORDER BY

  • 조회 결과를 특정 attribute(s)를 기준으로 정렬하여 가져오는 방법
  • Default 정렬 방식은 오름차순이다 (ASC)
  • 오름차순 정렬은 ASC로 표기한다
  • 내림차순 정렬은 DESC로 표기한다
SELECT id, name
FROM table1
ORDER BY 1 [ASC or DESC] #생략시 ASC

aggregate function

  • 여러 tuple들의 정보를 요약해서 하나의 값으로 추출하는 함수
  • 대표적으로는 COUNT, AVG, SUM, MIN, MAX 등등의 함수가 있다
  • NULL값들을 제외한 결과 값을 추출한다.
SELECT COUNT(*)
FROM table1
WHERE table1.id between 1 AND 100

GROUP BY

  • 관심있는 attribute(s) 기준으로 그룹을 나누어 그룹별로 aggregate function을 적용할때 사용
  • 기준 attribute(s)에 NULL 값이 있을 경우 NULL 값을 가지는 tuple끼리 묶는다
SELECT dept_id, AVG(salary)
FROM employee
GROUP BY dept_id

HAVING

  • GROUP BY와 함께 사용된다
  • aggregate function의 결과값을 바탕으로 그룹을 필터링할때 사용한다
  • having절에 명시된 조건을 만족하는 그룹만 결과에 포함한다
SELECT dept_id, AVG(salary) AS avg_sal
FROM employee
GROUP BY dept_id
HAVING avg_sal < (
	SELECT AVG(salary) FROM employee
    );
# 전직원 평균연봉보다 적게받는 부서의 id와 평균연봉을 조회하는 쿼리
profile
체득하고 이해하자

0개의 댓글