내일배움 2일차 : 까먹지 않기

다롱·2025년 2월 18일

오늘의 학습 포인트

아티클 스터디 : 데이터 시각화의 중요성
SQL 문제풀이 : Count, distinct
SQL 강의 복습 :조건에 따라 데이터를 정리하는 방법

오늘 공부 한 것

코드카타 문제 풀이 : COUNT, DISTINCT

SELECT COUNT (DISTINCT name) as count 
FROM animal_ins
WHERE name IS NOT NULL;

사전학습에서 배우긴 했지만 아직도 햇갈렸다.
다행히도 다시 한 번 까먹지 않게 몇 번 복기 한 끝에 정답을 맞추었다.

COUNT('컬럼'):특정 컬럼의 데이터 갯수. 
>> 만약 전체 수를 구하고 싶다면 1이나, '*' 표기 가능
COUNT(DISTINCT 컬럼) : 특정 컬럼에서 몇개의 값이 있는지 궁금 할 때 

오늘 강의 복습 한 것 : IF, CASE, User segmentation

1) 문자 포멧을 SQL로 가공하고 싶을 때

-Replace (바꿀 컬럼, 현재값, 바꿀값): 특정 문자를 다른 것으로 바꾸고 싶을 때 사용

select addr "원래 주소",
       replace(addr, '문곡리', '문가리') "바뀐 주소"
from food_orders
where addr like '%문곡리%' 

-substr(조회 할 컬럼, 시작 위치, 글자 수):전체 데이터가 아닌 특정 문자만 필요할 때, 필요한 부분만 조회 ** substring으로도 써도 됨

select addr "원래 주소",
       substr(addr, 1, 2) "시도"
from food_orders
where addr like '%서울특별시%'

- concat : 여러 컬럼의 값을 하나로 합칠 수 있음

select restaurant_name "원래 이름",   
       addr "원래 주소",
       concat('[', substring(addr, 1, 2), '] ', restaurant_name) "바뀐 이름"
from food_orders
where addr like '%서울%'

2) 조건에 따라 데이터를 정리 하고 싶을 때

  • IF : 원하는 조건에 충족하거나 적용할 방법이 아닌 내용을 지정 할 수 있음
IF (조건, 조건을 충족할 때, 조건을 충족하지 못할 때)
select restaurant_name,
       cuisine_type "원래 음식 타입",
       if(cuisine_type='Korean', '한식', '기타') "음식 타입"
from food_orders
  • Case : 여러 개의 조건을 지정해야 할 경우, 각 조건별로 적용할 수 있는 값을 조정 할 수 있음
case when 조건1 then(수식)1
     when 조건2 then(수식)2
     else(수식)3
end
  • 10세 이상, 30세 미만의 고객의 나이와 성별로 그룹 나누기 연습 예시
select name,
       age,
       gender,
       case when (age between 10 and 19) and gender='male' then "10대 남자"
            when (age between 10 and 19) and gender='female' then "10대 여자"
            when (age between 20 and 29) and gender='male' then "20대 남자"
            when (age between 20 and 29) and gender='female' then "20대 여자" end "그륩" 
from customers
where age between 10 and 29

오늘의 회고

오늘은 정말 정신이 없고, 까먹은 것들이 많았다. 문제 풀던 중 결과값이 안나와서 짜증이 났는데, 알고보니 스펠링이 빠져있거나, 작은따옴표가 빠져있어 깜박 잊을 때가 많았다. 그리고 아티클 스터디도 양식을 잘못 확인하여 제대로 기록을 하지 못하여 팀원들에게 미안했다. 다시 한 번 더블 체킹 하는 습관을 가지고, 나만의 것을 만들기 위해 차근차근 해야겠다. 아직 2일차니까 급하게 갈 필요는 없을 것 같다.

profile
새로운 길로 다시 가고자 하는 잉여인간 https://dadakimmm.tistory.com/

0개의 댓글