공부일기/엑셀보다 쉬운 SQL

엑셀보다 쉬운 SQL 5주차 개발일지

pipiiiiii 2023. 11. 13. 15:41

SQL의 명령어 익히기

· 조회한 데이터에 값이 없을 경우 두 가지 방식을 사용하면 된다. 

 ① null문을 사용하여 사용할 수 없는 값을 제한다. ex)

 ② 다른 값으로 대체해서 사용한다.

 (1) if문을 활용한다.

ex)

 (2) 없는 데이터를 전부 다 다른 값으로 바꾼다. 

 → coalesce를 사용한다. 

ex)  

 

· 비상식적인 데이터 결과가 나올 때는 조건문으로 값의 범위를 지정해서 처리한다. 

ex)

 

· SQL로 엑셀에서 사용하는 pivot table 만들어 사용할 수 있다.

 → pivot table이란 2개 이상의 기준으로 데이터를 집계할 때, 보기 쉽게 배열하여 보여주는 것이다. 

 ex)

 → pivot view는 두 가지 단계를 거쳐서 만들 수 있다.

 ① 베이스 데이터를 만들어준다. 

 ② 베이스 데이터를 활용해 pivot view를 만들어준다. 

ex)

 

SQL 활용 시 업무에 도움이 되는 문법 알아보기

· window function

 → window function에는 다양한 함수가 있다.

 → 강의에는 누적합, 순위 매기는 법 두 가지를 배웠다. 

 → window function 기본 구조

 

ex) window function 중 순위를 매기는 rank 함수 예시 

→ 음식 타입별로 주문 건수가 가장 많은 상점 3개씩 조회하기

 → window function 함수 중에는 () 안에 컬럼 혹은 수식, 기준 등을 생략할 때가 있는데 rank 함수의 경우 합계처럼 결과의 대상이 없기 때문에 ()만 적고 () 안은 생략한다. 

 

ex) window function 중 누적합을 구하는 sum 함수 예시 

 → 각 음식점의 주문 건이 해당 음식 타입에서 차지하는 비율을 구하고, 주문 건이 낮은 순으로 정렬했을 때 누적합 구하기 

 

· 날짜 표현 방식을 바꾸는 방법에는 두 가지가 있다. 

 → 날짜를 알려주는 컬럼의 내용을 원하는 방식으로 변경해서 볼 수 있다. 

 ① date 함수를 사용한다. 

ex) 

 ② date_format 함수를 사용한다.

 → date_format 함수에 사용되는 날짜 표시 작성법

 (1) 년 : Y(ex)2023) 혹은 y(ex)23)

 (2) 월 : M 혹은 m

 (3) 일 : d 혹은 e

 (4) 주 : w   

ex)

 → '% y'처럼 하나씩 작성도 가능하지만 '% y% m'처럼 붙여서도 사용이 가능하다.

 

· 실습 

 - 연도별 3월의 주문건수 구하기 

 → 내 쿼리문 및 수정사항

 

· 5주 차 숙제

 - 음식 타입별, 연령별, 주문 건수 pivot view 만들기(연령은 10세 ~ 59세 사이)

 → 내 쿼리문과 결괏값

 

 

→ 정답 쿼리문과 결괏값

 

· 5주 차 소감

 - 끝났다는 해방감과 SQL을 배우면서 이해가 힘들었던 부분에 대한 찜찜함이 남은 5주 차였다.  

마지막 5주 차에서는 강의 내용이 너무 빠르게 넘어가고 실습이 없어서 이해하기가 어려웠다. 

그래도 4주까지는 어르고 달래서 알려주려고 하고, 이해가 안 되면 할 수 있게 실습을 통해 많이 설명을 해줘서 하다 보면 이해가 되는 방식이라면 5주는 갑자기 알려주고 끝내는 느낌이었다. 마치.. 밥을 숟가락으로 한가득 퍼서 입에 계속 쑤셔 넣는 기분.. 아직 씹고 있는데 계속 입에 넣어주는.. 그만 넣어달라 해도 밥 한 공기를 꾸역꾸역 입에 다 넣어준 기분... 그래도 배우고자 했으니 알려주는 것은 최대한 이해하려고 노력했다. 그래서인지 다른 주차보다 오래 걸렸지만 끝까지 들었으니 만족스럽다. 앞으로는 새로운 강의가 나오기 전까지 실습들을 반복해서 풀어보고 복습을 해야겠다.