[코딩 자율학습 14기] SQL 데이터베이스 입문 4장

안지원·2025년 4월 17일

SQL

목록 보기
4/10

4장. 집계 함수란

  • 집계 함수란 특정 칼럼 값을 입력받아 통계적 계산을 해주는 함수로 최댓값, 최솟값, 합계, 평균 등을 구할 때 사용합니다.

📗 집계 함수

  • 집계 함수는 다음과 같이 함수명(칼럼명) 형태로 사용합니다.

집계 함수

1. MAX()

  • 최댓값 반환
SELECT MAX(칼럼명)
FROM 테이블명;

2. MIN()

  • 최솟값 반환
SELECT MIN(칼럼명)
FROM 테이블명;

3. COUNT()

  • 튜플의 개수 반환
SELECT COUNT(칼럼명)
FROM 테이블명

4. SUM()

  • 합계 반환
SELECT SUM(칼럼명)
FROM 테이블명

5. AVG()

  • 평균 반환
SELECT AVG(칼럼명)
FROM 테이블명

📌 집계 함수 사용해보기

1. 가장 싼 버거와 가장 비싼 버거의 price 조회(MAX, MIN)

2. 무게가 240g을 초과하는 버거가 몇 개인지 세기(COUNT)

  • 추가로 COUNT()함수의 입력값엔 *을 넣을 수도 있고, 특정 칼럼명을 넣을 수도 있습니다.

COUNT함수에서 *와 칼럼

  • COUNT(*) : NULL 값을 포함한 전체 튜플의 갯수를 셈
  • COUNT(칼럼명) : 지정된 칼럼에서 NULL값을 제외한 튜플의 수를 셈

3. 모든 버거를 하나씩 샀을때 가격 구하기(SUM)

4. 모든 버거의 평균 가격 구하기

🕖 1분 퀴즈

  • 6000원 이상인 버거중에
  • 가장 높은 kcal, 가장 낮은 protein, 모든 price의 총 합을 구하시오

📌 집계 함수 실습

  • 새로 bank라는 데이터베이스와 transactions 라는 테이블을 만들어봅시다.
  • 여기서 새로운 타입이 추가된 것을 볼 수 있습니다.

DECIMAL

  • 소수점을 포함한 고정 길이의 숫자를 나타내는 자료형
  • 첫 번째 인자엔 소수점을 포함한 전체의 길이, 두 번째 인자엔 소수점의 길이를 넣습니다.

DATETIME

  • 날짜와 시간을 나타내는 자료형
  • YYYY-MM-DD hh:mm:ss 형식으로 값을 저장함

값을 INSERT해서 문제를 풀려고 했는데... 튜플 27개를 넣기엔 시간이 너무 많이 들어서 이번 문제는 패스하겠습니다..

📌 IN 연산자

  • IN 연산자는 어떤 칼럼의 값이 주어진 목록 값 중 하나에 해당하는지 찾아 줍니다.
SELECT *
FROM 테이블명
WHERE 칼럼명 IN (값1, 값2);

📌 DISTINCT 키워드

  • DISTINCT 키워드는 쿼리 실행 결과에서 중복된 값을 제거하고 고유한 값만 반환할 때 사용합니다.
SELECT DISTINCT 칼럼명
FROM 테이블명;

DISTINCT 적용X

DISTINCT 적용O

✅ 셀프체크

1. company DB를 생성 및 진입 후 employees 테이블을 만드세요

2. employees 테이블에 직원 10명의 데이터를 삽입하세요

3. 모든 직원의 연봉 합계를 계산하세요

4. Sales 부서의 평균 연봉을 구하세요

5. 부서가 모두 몇 개 있는지 조회하세요

이게 되네
6. Sales 부서의 최대 연봉과 최소 연봉 차이를 구하세요

7. 가장 높은 연봉을 받는 직원은 전체 평균 연봉 대비 얼마를 더 받는지 구하시오

profile
frontend개발자가 되기 위해 노력합니다.

0개의 댓글