-
<TIL> 2023-12-06내일배움캠프(데이터 분석 부트캠프 1기)/TIL & WIL 2023. 12. 6. 23:33
내일배움캠프 사전학습캠프 셋째 날
스파르타코딩클럽 / 엑셀보다 쉽고 빠른 SQL 3주차 수강완료
오늘 배운 것 간단하게 정리
- REPLACE()
- 특정한 문자열을 변경하는 함수
- ex) REPLACE(컬럼명, '바꿀텍스트', '바뀔텍스트')
SELECT addr, REPLACE(addr, '문곡리', '문가리') "바뀐주소" FROM food_orders WHERE addr like '%문곡리%'
- SUBSTR ()
- 문자열을 슬라이싱하는 함수
- ex) SUBSTR(컬럼명, 시작위치숫자, 글자 갯수)
- 시작위치는 1로 시작하며 공백을 포함한다.
SELECT addr "원래 주소", SUBSTR(addr, 7, 2) "구" FROM food_orders WHERE addr LIKE '%서울특별시%'
- CONCAT()
- 문자열을 합치는 함수
- ex) CONCAT('문자열1 or 컬럼명1', '문자열2 or 컬럼명2' ...)
SELECT restaurant_name "원래 식당명", addr "원래 주소", CONCAT('[', SUBSTR(addr, 1, 2), '] ', restaurant_name) "바뀐 식당명" FROM food_orders WHERE addr LIKE '%서울%'
- IF()
- 조건에 따라서 다른 연산을 하고 싶은 경우 사용하는 함수
- ex) IF(조건, 충족할 때, 충족하지 않을 때)
- 조건이 만족하면 충족할 때 부분이 실행되고 불만족하면 충족하지 않았을 때 부분이 실행된다.
SELECT addr "원래 주소", IF(addr LIKE '%평택군%', REPLACE(addr, '문곡리', '문가리'), addr) "바뀐 주소" FROM food_orders WHERE addr LIKE '%문곡리%'
- CASE WHEN ~ THEN
- 두 개 이상의 특정한 조건에 따라 해당 조건을 만족하는 값에 대해 다른 처리를 해주기 위한 구문
SELECT restaurant_name, order_id, price, delivery_time, addr, CASE WHEN delivery_time > 30 THEN (price*0.1)*IF(addr LIKE '%서울%', 1.1, 1) WHEN delivery_time > 25 THEN (price*0.05)*IF(addr LIKE '%서울%', 1.1, 1) ELSE 0 END '수수료' FROM food_orders
IF문과 CASE문을 사용할 때 조건이나 값의 부분에 여러 구문을 사용하여 복잡한 쿼리를 사용할 수 있다.
'내일배움캠프(데이터 분석 부트캠프 1기) > TIL & WIL' 카테고리의 다른 글
<TIL> 2023-12-12 (0) 2023.12.12 <TIL> 2023-12-11 (1) 2023.12.11 <TIL> 2023-12-07 (0) 2023.12.07 <TIL> 2023-12-05 (3) 2023.12.05 <TIL> 2023-12-04 (1) 2023.12.04 - REPLACE()