ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • <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
Designed by Tistory.