본문 바로가기
내일배움캠프 AI 웹 프로그래밍

내일배움캠프 65일차_SQL로 가공하기

by thriveview 2023. 11. 3.

언제나 시작은 복습 ^^ 

#SQL 문의 기본 구조
select
from
where
group by
order by


#주문 테이블에서 → from
#주문 수량이 1건인 주문건의 → where
#음식 가격의 평균을 음식 종류별로 조회하여 → avg, group by
#음식 가격이 높은 순서대로 정렬하기 → order by

 

이번 주차에서는 실제로 업무에 사용할 수 있게 문자데이터를 다듬고 조건별로 다르게 계산할 수 있고 쿼리문을 데이터베이스에 연결해서 사용하면서 오류 확인하기 등등 디테일 배울수있다

 

02. 업무 필요한 문자 포맷이 다를 때, SQL 로 가공하기 (REPLACE, SUBSTRING, CONCAT)

데이터를 조회하다보면 Query 결과를 그대로 이용하지 못하는 경우가 생긴다. 

예를 들어, 

  • 저는 주소 전체가 아닌 ‘시도’ 정보만 필요해요. 서울의 통계만 구하고 싶은데, 전체 주소가 아닌 ‘서울’ 로 문자를 변경할 수는 없을까요?
  • 저는 보고서를 작성할 때 사업장 명과 함께 지역이 같이 나와야해요. ‘사업장 [지역]’ 과 같은 형태로 문자 포맷을 변경할 수 있을까요?

위와 같은 케이스가 그런 케이스라고 할 수 있다. 

 

QL 에서는 특정 문자를 다른 것으로 바꿀 수 있는 기능을 제공하기 때문에 주소값도 변경 가능하다. 

사용할 함수는 REPLACE

#사용방법
replace(바꿀 컬럼, 현재 값, 바꿀 값)

 

Replace 예시

select restaurant_name "원래 상점명",
       replace(restaurant_name, 'Blue', 'Pink') "바뀐 상점명"
from food_orders
where restaurant_name like '%Blue Ribbon%'

 

 

 

SQL 에서는 특정 문자만 골라서 조회할 수 있는 기능이 있다. 함수는 substring (substr)을 사용한다.

#사용 방법
substr(조회 할 컬럼, 시작 위치, 글자 수)

 

 

여러 컬럼의 값을 하나로 합칠 수 있는 기능 또한 가능하다. 사용할 함수는 concat 이다.

 

#사용 방법
concat(붙이고 싶은 값1, 붙이고 싶은 값2, 붙이고 싶은 값3, .....)