Ming's Life

[내일배움캠프 사전캠프] SQL 2일 (3주차 강의) 본문

내일배움캠프

[내일배움캠프 사전캠프] SQL 2일 (3주차 강의)

chamiii 2025. 5. 9. 19:48

1. 오늘 학습 키워드

  • SQL 기본 구조 복습
  • 수치계산 및 문자를 다듬을 때, 조건별로 다르게 적용
  • 수치계산과 문자 연산이 되지 않는 경우를 배우고, 에러를 수정

 

2. 오늘 학습 한 내용을 나만의 언어로 정리하기

 

  • replace  : 특정 문자를 다른 문자로 바꾸기
replace(바꿀 컬럼, 현재 값, 바꿀 값)

 

 

  • substring (substr) : 원하는 문자만 남기기
substr(조회 할 컬럼, 시작 위치, 글자 수)

 

 

  • concat : 여러 컬럼의 문자를 합치기
concat(붙이고 싶은 값1, 붙이고 싶은 값2, 붙이고 싶은 값3, .....)

 

 

  • 문자 데이터 바꾸고 Group by 사용하기
select substring(addr, 1, 2) "시도",
       cuisine_type "음식 종류",
       avg(price) "평균 금액"
from food_orders
where addr like '%서울%'
group by 1, 2

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

 

  • if : 조건에 따라 다른 방법을 적용하고 싶을 때 
if(조건, 조건을 충족할 때, 조건을 충족하지 못할 때)

 

 

  • case : 조건을 여러가지 지정하고 싶을 때
case when 조건1 then 값(수식)1
     when 조건2 then 값(수식)2
     else 값(수식)3
end

 *else : 조건에 부합하지 않을 때

 

  • 오류 메세지 'data type' : 출력 결과 컬럼명 옆의 ‘ABC’ 혹은 ‘123’ 을 확인해주세요. ‘ABC’ 는 문자로 저장이 되어있다는 의미
--숫자로 변경
cast(if(rating='Not given', '1', rating) as decimal) 

--문자로 변경
concat(restaurant_name, '-', cast(order_id as char))

 * decimal  /  char

 

 

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

 

X

 

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

 

4주차 or 4-5주차 강의 듣기