내배캠_Data_3기/TIL

240625_SQL, 함수, SUM, AVERAGE, COUNT, MIN, MAX, REPLACE, SUBSTR, CONCAT

케일라(Data_3기) 2024. 6. 25. 15:22

강의 : [KDC] 엑셀보다 쉽고 빠른 SQL - 2주 차

 

[수업 목표]

  • SQL을 이용하여 숫자 계산 값을 도출한다
  • Query 결과를 원하는 순서대로 조회한다

[함수 종류]

  • 합계 : SUM(컬럼)
  • 평균 : AVG(컬럼)
더보기

select sum(food_preparation_time) total_food_preparation_time,
           avg(delivery_time) avg_food_preparation_time
from food_orders

  • 데이터 개수 : COUNT(칼럼)  컬럼명 대신 1 또는 * 사용가능
  • DISTINCT : 몇 개의 값을 가지고 있는지 구할 때  ex) 주문을 한 고객은 몇 명인가요?
더보기

select count(1) count_of_orders,
       count(distinct customer_id) count_of_customers
from food_orders

  • 최솟값 : MIN(컬럼)
  • 최댓값 : MAX(컬럼)
더보기

select min(price) min_price, max(price) max_price

from food_orders

 

[오늘 배운 명령어]

  • GROUP BY : 지정된 카테고리별로 연산
더보기

select 카테고리컬럼(원하는컬럼 아무거나),
           sum(계산 컬럼),
from
group by 카테고리컬럼(원하는컬럼 아무거나)

  • ORDER BY : 조회한 결과 정렬
더보기

select 카테고리컬럼(원하는컬럼 아무거나),
           sum(계산 컬럼),
from
group by 카테고리컬럼(원하는컬럼 아무거나)
order by 정렬을 원하는 컬럼 (카테고리컬럼(원하는컬럼 아무거나), sum(계산 컬럼) 둘 다 가능)

  • 오름차순 : asc (기본값으로 설정되어 있음, 생략가능)
  • 내림차순 : desc

 


강의 : [KDC] 엑셀보다 쉽고 빠른 SQL - 3주 차

 

 

[수업 목표]

  • Query 결과를 업무에 바로 사용할 수 있도록 문자 (워딩)를 다듬는다
  • 수치계산 및 문자를 다듬을 때, 조건별로 다르게 적용한다
  • 수치계산과 문자 연산이 되지 않는 경우를 배우고, 에러를 수정한다

 

[함수 종류]

  • Replace : 특정문자를 다른 문자로 바꾸기
  • Substring : 원하는 문자만 남기기
  • Concat : 여러 컬럼의 문자를 합치기
더보기

replace(바꿀 컬럼, 현재 값, 바꿀 값)

substr(조회할 컬럼, 시작 위치, 글자 수)

concat(붙이고 싶은 값 1, 붙이고 싶은 값 2, 붙이고 싶은 값 3,.....)

 

[실습]

1. 서울 지역의 음식 타입별 평균 음식 주문금액 구하기 (출력 : ‘서울’, ‘타입’, ‘평균 금액’)

더보기

select substring(addr, 1, 2) "시도",
       cuisine_type "음식 종류",
       avg(price) "평균 금액"
from food_orders
where addr like '%서울%'
group by 1, 2

 

2. 이메일 도메인별 고객 수와 평균 연령 구하기

더보기

select substring(email, 10) "도메인",
       count(customer_id) "고객 수",
       avg(age) "평균 연령"
from customers
group by 1

 

3. ‘[지역(시도)] 음식점이름 (음식종류)’ 컬럼을 만들고, 총 주문건수 구하기

더보기

select concat('[', substring(addr, 1, 2), '] ', restaurant_name, ' (', cuisine_type, ')') "바뀐 이름",
       count(1) "주문건수"
from food_orders
group by 1

 

 


3주 차 강의부터 어려워. 집중력이 떨어진다. 헷갈려ㅕ