본문 바로가기
Data

[SQL] 엑셀보다 쉽고 빠른 SQL 3강 정리 (feat. DBeaver)

by Dora the explorer 2024. 8. 30.
반응형

💡 오늘 배운 것

 

- SQL 문자 가공 함수 : REPLACE, SUBSTR, CONCAT

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

REPLACE : 특정 문자를 다른 것으로 바꿀 수 있는 함수

 

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

SUBSTR: 원하는 문자만 남길 수 있는 함수

 

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

CONCAT : 여러 컬럼의 문자를 합칠 수 있는 함수

substr 함수를 이용해 원래 주소컬럼에서 '구'데이터만을 사용할 수 있게 했다. 공백을 포함하기 때문에 7번째 글자부터 3가지 글자만 사용한다는 뜻이다.

 

 

- 조건에 따라 포맷 변경하기 : IF, CASE

if와 case 함수를 사용하여 조건에 따라 연산을 적용할 수 있다.

이러한 조건문을 활용하여 새로운 카테고리를 만들거나, 각각 다른 연산식을 적용하거나, 다른 문법 안에서 적용도 가능하다.

If(조건, 조건을 충족할 때, 조건을 충족하지 못할 때)
exp. If(cuisine_type='Korean','KR','ETC')

IF : 원하는 조건을 충족하거나 아닐 때에 사용할 수 있다.

예. 음식타입(컬럼)이 'Korean' 이라면, KR 로 지정하고 그렇지 않은 경우에는 ETC라고 지정한다.

 

case when 조건1 then 값(수식)1
when 조건2 then 값(수식)2
else 값(수식)3
end

CASE : 두 개 이상의 조건을 지정해야 하는 경우 사용할 수 있다. 여러번 if문을 작성하는 것과 같은 효과를 낼 수 있다.

else값이 없으면 생략할 수 있으며 끝에 end를 작성해주어야 한다.

 

강의 자료에는 CASE문으로 작성된 것을 IF문으로 바꾸어 보았다.

음식 단가를 주문수량이 1일 때는 음식가격, 주문수량이 2 이상일 때에는 음식가격/주문수량(평균가격)으로 지정하였을 때 IF문 혹은 CASE문을 활용하여 지정할 수 있다. 

 

 

💡 적용

 


 

강의 시간은 비슷하지만 뒤로 가면 갈수록 완강 시간이 늘어난다... 중간에 멈추고 직접 쿼리를 작성해보고 에러가 나는 경우(거의 대부분 에러가 난다. 사소한 따옴표, 쉼표 하나도 빠지면 정상적인 값이 출력되지 않기 때문이다.)에 강의를 천천히 보면서 어떤 부분에서 틀렸는지 체크하며 공부하고 있다. 그래서 시간이 조금 걸리긴 하지만 좀 더 확실하게 기억할 수 있는 것 같다.

반응형