[2025.10.24] 오늘의 학습 키워드 - IF 와 CASE

허진원·2025년 10월 24일

내일배움캠프 TIL

목록 보기
5/41
  1. 오늘 학습 키워드
    SQL로 조건문 작성하기

  2. 오늘 학습 한 내용을 나만의 언어로 정리하기'
    어제까지 나를 괴롭히던 조건문에 대해서 조금은 더 이해할 수 있게 되었다. 첫 대면에서는 너무 서먹해서 말을 걸 엄두조차 나지 않았던 조건문이었지만, 대략 사흘에 걸쳐 안면을 터놓으니 결국 조건문이라는 친구와 가까워질 수 있었다.

  3. 학습 내용
    1강, 2강의 SQL 기초 내용을 한 번 더 간단하게 복습하고 조건문이 등장하는 3강을 중점적으로 파헤쳤다. 오늘은 직무 스터디 발표회도 있었기 때문에 4강 이상으로 넘어가기에는 시간이 부족했다. 아쉽긴 해도, 오늘 드디어 3강의 조건문에 대해서 이해할 수 있게 되었기 때문에 너무 연연하지는 않기로 했다.

  • 학습 주제: 조건문 작성 - IF문, CASE문

  • 핵심 개념 정리: IF문은 컬럼에 원하는 조건을 달아서 데이터를 조회할 수 있도록 도와주는 역할을 한다. 이 때, 조건을 충족할 경우 적용할 방법과 아닐 경우 적용할 방법을 설정하는 것이 가능하다.
    CASE문은 조건을 복수로 지정하고 싶을 때 사용한다. CASE문을 사용하여 IF문을 여러 번 적용한 것과 동일한 효과를 내도록 만들어주는 것이다. IF문과 마찬가지로 조건을 충족했을 때 적용할 방법과 아닐 때 적용할 방법을 설정할 수 있다.

  • 코드 예시 + 결과:
    강의 자료의 예시 문항에 나와있는 query를 분석해보았다.
    우선 replace를 써서 수정해야 할 문자를 고쳐준 뒤, IF문으로 출력값에 조건을 달아주었다. 그 후에 substring을 써서 필요한 문자만 추출하는 방식으로 확인되었다. 추가로 고객의 수를 count를 사용해 계산해주고, avg로 고객 나이의 평균을 구해준 뒤, 앞서 작성한 substring을 중심 범주로 묶어서 데이터를 추출했다.

    select substring(if(email like '%gmail%', replace(email, 'gmail', '@gmail'), email), 10) "이메일 도메인",
           count(customer_id) "고객 수",
           avg(age) "평균 연령"
    from customers
    group by 1

이렇게 작성된 query를 실행해보니 아래와 같은 데이터가 추출된 것을 확인할 수 있었다.

hanmail.com 310 49.5323
daum.net 266 48.6015
gmail.com 296 50.5473
naver.com 305 50.2525

  • 활용 사례:
    오늘은 과제를 수행하거나 프로젝트를 진행하지 않았기에 학습한 내용들을 활용한 것은 특별히 없다. 다만 강의 내용을 상기하면서 강의 자료 내에 있는 query문을 조금씩 바꿔보는 식으로 연습했다. 천천히 배운 내용들을 적용하면서 내가 생각한 대로 결과가 출력되는 게 참으로 신기하고 흥미로웠다. 이렇게 또 재미를 느끼며 성장하는 나를 발견하니 뿌듯하고 스스로가 대견하게 느끼진다.
  1. 내일 학습 할 것은 무엇인지
    내일은 주말이라 시간이 많다. 천천히 배웠던 내용들을 되돌아보면서 연습 문제를 풀어볼 생각이다. 풀다가 지치면 잠시 커피 한 잔 사러 나가는 여유를 부려도 괜찮을 주말이니, 서두르지 말고 진득하게 공부해보자.

#내일배움캠프 #본캠프 # 10기 #TIL

profile
국문과 전공 데이터 입문자

0개의 댓글