11.18(월) 사전캠프 4일째 기록

Laña·2024년 11월 18일
1
post-thumbnail

<아티클 스터디>

  • 데이터 리터러시는 '데이터를 활용해 문제를 해결하는 것'을 말한다. 이때 문제를 잘 해결하는 것도 좋지만 데이터 분석가는 보다 깊은 인사이트를 제공해야한다. 전문가의 역할이나 역량도 중요하지만 그만큼 구성원들도 데이터를 '올바른 관점'에서 바라보아야한다는 것이다. 이 관점을 지속적으로 유지 및 강화하려면 주변에서 이런 환경을 만들어 주는것이 가장 효과적이다. '화해'라는 기업에서는 경영진들이 환경을 조성하고자 하는 강한 의지가 도움이 되었다고 밝혔다.

    데이터 리터러시를 높이기 위해 좋다고 생각한 '화해'의 방법은 노션에 데이터와 실험에 관한 기록을 처음부터 끝까지 정리해둔것이다. 사람에 의해 임의로 기록이 바뀔 수 있기에 모든 과정을 투명하게 하여 데이터의 객관성을 지킬 수 있었다고 생각한다.
    +데이터 리터러시를 올리는 방법

<오늘 배운 것 요약>

  • SQL 3주차
    문자 포맷이 다를때 SQL로 가공
    1. REPLACE(바꿀 컬럼, 현재 값, 바꿀 값)
      예) 주소의 '서울'을 '부산'으로 바꾸기
      REPLACE(addr, '서울', '부산')
    2. SUBSTRING/SUBSTR(조회 할 컬럼, 시작 위치, 글자 수)
      예) 전화번호 뒷4자리만 보이게 해줘
      SUBSTRING/SUBSTR(phone_number, 8, 4[혹은 빈칸도 가능 - 기준점 뒤를 다 가져올 것이기 때문])
    3. CONCAT(붙이고 싶은 값1, 값2, 값3, ....)
      => 컬럼, 한글, 영어, 숫자, 기타 특수문자 다 가능
      예) 서울시에 있는 회사를 '[서울]회사명'으로 수정
      CONCAT('[',SUBSTR(addr, 1, 2), ']', company_name)

      이후 GROUP BY ~ 로 묶을 수 있음! (이때 컬럼명 대신 1,2 라는 명령어 위치로 해줘도 무방)

조건에 따라 포맷을 다르게 변경
1. IF(조건, 조건 충족 시, 조건 미충족 시)
예) 성별이 여자라면 여, 남자라면 남으로 해줘
IF(GENDER='FEMALE', '여', '남')
2. CASE WHEN 조건1 THEN 값(수식)1
WHEN 조건2 THEN 값(수식)2
ELSE 값(수식)3
END
예) 성별이 여자라면 여, 남자라면 남으로 해줘
CASE WHEN GENDER='FEMALE' THEN '여'
WHEN GENDER='MALE' THEN '남'
END

DATA TYPE 오류 해결하기
DATA TYPE 오류 => 문자 -> 숫자로 저장 / 숫자 -> 문자로 저장 (컬럼명 옆 'ABC'/'123' 타입 확인)
1. 문자로 변경
CONCAT(컬럼명, '-', CAST(다른 컬럼명 AS CHAR))
2. 숫자로 변경
CAST(IF(컬럼명='현재 값', '바꾸고 싶은 값', 컬럼명) AS DECIMAL

  • 3주차 숙제
    문제: 다음의 조건으로 배달시간이 늦었는지 판단하는 값을 만들어주세요.
    주중 : 25분 이상
    주말 : 30분 이상
    <지시사항>
  1. SQL 문의 기본 구조로 시작
  2. 조건을 여러번 적용할 때 if, case 문 중 어떤 것을 이용할지 결정
  3. 조건에 ‘주중, 주말’ 조건과 ‘배달시간’ 조건을 동시에 줄 때 사용 할 논리연산자 결정
select order_id,  
       restaurant_name,
       day_of_the_week,
       delivery_time,
       case when day_of_the_week='Weekday' and delivery_time>=25 then 'Late'
            when day_of_the_week='Weekend' and delivery_time>=30 then 'Late'
            else 'On-time' end "지연여부"
from food_orders
profile
SQL, Python, Code Kata

0개의 댓글