[내일배움캠프 사전캠프] '25.07.24(목) / 사전캠프 2주차(4)

1. 오늘의 학습 키워드

엑셀보다 쉽고 빠른 SQL 강의 - 2주차

  • select sum(), average(), count(), max(), min(), distinct()
  • group by
  • order by

 

 

 

2. 오늘의 학습 내용 정리

💡 WHERE절로 원하는 데이터 뽑고, 계산해보기

-- Q. 주문 금액이 30000원 이상인 주문 건의 갯수 구하기

더보기
select count(order_id) count_of_orders
from food_orders
where price>=30000

-- Q. 한국 음식의 주문 당 평균 음식가격 구하기

더보기
select avg(price) as average_price
from food_orders
where cuisine_type='Korean'

💡 GROUP BY로 범주별 연산 한 번에 끝내기

-- Q. 음식점별 주문 금액 최댓값 조회하기

더보기
select restaurant_name,
       max(price) "최대 주문금액"
from food_orders
group by restaurant_name

-- Q. 결제 타입별 가장 최근 결제일 조회하기

더보기
select pay_type "결제타입",
       max(date) "최근 결제일"
from payments
group by pay_type

💡 Query 결과를 정렬하여 업무에 바로 사용하기 

-- Q. 음식점별 주문 금액 최댓값 조회하기 - 최댓값 기준으로 내림차순 정렬

더보기
select restaurant_name,
       max(price) "최대 주문금액"
from food_orders
group by restaurant_name
order by max(price) desc

-- Q. 고객을 이름 순으로 오름차순으로 정렬하기

더보기
select *
from customers
order by name

💡 SQL 구조 마스터 - WHERE, GROUP BY, ORDER BY 로 완성되는 SQL 구조

-- Q. 음식 종류별 가장 높은 주문 금액과 가장 낮은 주문금액을 조회하고, 가장 낮은 주문금액 순으로 (내림차순) 정렬하기

더보기
select cuisine_type,
       min(price) min_price,
       max(price) max_price
from food_orders
group by cuisine_type
order by min(price) desc

 

 

 

3. 학습하며 겪었던 문제점 & 에러

(퀘스트) SQL 문법 연습  - 2) 이제 좀 벌었으니 flex 한 번 해볼꺄요?!

[SQL 연습문제 2번]

 

6번 문제에서 '프로'가 포함된 모든 제품을 선택하라는 질문이 있어서 in 문법을 사용하였음.(잘 못 불러옴)

- in 으로 잘못 사용한 case
select *
from products
where product_name in '프로'  <-- 이와 같이 작성하면 안됨
where product_name in '맥북 프로'  <-- 💡in을 사용한 경우, 테이블에 있는 정확한 명칭을 가져와야 함

 

하지만 문제에서 원하는 것은 제품명에 '프로' 가 들어간 모든 제품을 불러오는 것이므로, like 를 사용하여 아래와 같이 작성해야 함.

- like를 사용하여 '프로'가 들어간 모든 제품을 불러옴
select *
from products
where product_name like '%프로%'

 

 

 

4. 내일 학습 할 것은 무엇인지

 

SQL 질문 잘 하는 방법

막막함에 부딪혔을 때 이 글이 도움이 되길 바랍니다. 새로운 걸 배우는 모두가 멋있어요.

datarian.io