[SQL] Group By, Order By, Aggregate Function(집계함수) 정리

Estar·2024년 7월 9일
0

TIL

목록 보기
4/17
post-thumbnail

ORDER BY

  • 테이블의 조회 결과를 특정 칼럼값 기준 (attributes)로 정렬하여 가져오고 싶을 때 사용한다.
  • 디폴트 값은 오름차순(Asc)로 되어있다.
  • 따로 입력하지 않으면 오름차순으로 자동 정렬된다.
  • 내림차순의 경우 (DESC)로 정리하면 된다.
  • SELECT에서 칼럼 순서로도 정렬 가능하다.

예제

SELECT *
  FROM Book
ORDER BY price, bookname;

Order By 에서는 우선 순서대로 price와 bookname 순서를 가지고 먼저 정리를 한다.
즉, 가격별로 먼저 정리한 후에 다시 이름으로 정리를 한다는 것.
13,000원 책을 보면 가나다 순이 아닌 가격 순으로 먼저 정리 한 후,
Olympic Champions, 야구를 부탁해, 축구 아는 여자 순서로 이름순 정렬이 되어있다.

집계함수

  • 여러 정보를 요약해서 하나의 값으로 추출한다.
  • COUNT, SUM, MAX, MIN, AVG 함수가 있다.
  • AVG(price) = price 값의 평균
  • MAX(birth_date) = 최근 생일 등
  • NULL 값은 제외하고 요약 값을 추출한다.

예제

"2번 김연아 고객이 주문한 도서의 총 판매액을 구하시오"

SELECT SUM(salepricee) AS 총매출
FROM Orders
WHERE custid=2;

총매출 = 15000

GROUP BY

  • 데이터를 특정 칼럽 기준으로 그룹화 해서 묶는다.
  • 그룹을 나누고 그 안에서 또 그룹으로 나눌 수 있다.
  • 각 그룹에 대한 연산 결과를 얻기 위해서는 Aggregate Function이 필요하다.

예제

"고객별로 주문한 도서의 총수량과 총판매액을 구하시오.

SELECT custid, COUNT(*) AS 도서수량,
SUM(saleprice) AS 총액
FROM orders
GROUP BY custid;

profile
개발자를 꿈꿔요

0개의 댓글

관련 채용 정보