오늘 학습 키워드
SQL로 조건문 작성하기
오늘 학습 한 내용을 나만의 언어로 정리하기'
어제까지 나를 괴롭히던 조건문에 대해서 조금은 더 이해할 수 있게 되었다. 첫 대면에서는 너무 서먹해서 말을 걸 엄두조차 나지 않았던 조건문이었지만, 대략 사흘에 걸쳐 안면을 터놓으니 결국 조건문이라는 친구와 가까워질 수 있었다.
학습 내용
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
#내일배움캠프 #본캠프 # 10기 #TIL