프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr# 일단, 쿼리 구조를 세워보면,# HISTORY_ID와 가격을 구해야하는데,# 가격은 DAILY_FEE * DISCOUNT_RATE * (DATEDIFF(END_DATE, START_DATE) + 1)# SELECT START_DATE, END_DATE, DATEDIFF(END_DATE, START_DATE) + 1 AS DIFF# FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY# FEE는 DAILY_FEE * DIFF * 할인율# 할인율 같은 경우에는 DIFF에 따라 CASE로 나눠줘야하는데, BETWEEN으로 분기 처리해주자.# 그리고 CO..
sql
프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krSELECT ID,CASE WHEN NTILE(4) OVER (ORDER BY SIZE_OF_COLONY DESC) = 1 THEN 'CRITICAL' WHEN NTILE(4) OVER (ORDER BY SIZE_OF_COLONY DESC) = 2 THEN 'HIGH' WHEN NTILE(4) OVER (ORDER BY SIZE_OF_COLONY DESC) = 3 THEN 'MEDIUM' ELSE 'LOW'END AS COLONY_NAMEFROM ECOLI_DATAORDER BY ID왜 이렇게 풀었을까?크기에 따라 컬럼을 설정해주는 문제였습니다..
프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr-- 드디어 고급 개념인 재귀 CTE를 사용할 차례인 것 같다 !WITH RECURSIVE HOUR_SERIES AS ( SELECT 0 AS HOUR UNION ALL SELECT HOUR + 1 FROM HOUR_SERIES WHERE HOUR 왜 이렇게 풀었을까?최종 결과 테이블을 살펴보면, 0시부터 23시까지의 데이터도 모두 출력해야 함을 확인할 수 있었습니다.간단히 변수 설정(@ 어노테이션 사용)해서 풀 수도 있었지만, 이번 문제에서는 CTE를 사용해보고 싶어서 선택하게 되었습니다.특히나 재귀 CTE를 사용해 먼저 0시를 설정해두고..
오늘은 파이썬과 MySQL을 둘 다 이용해서 야후 파이낸스 주식 데이터를 가지고 분석해보는 시간을 가져보았습니다.참고로 중간중간 제작된 이미지는 https://www.napkin.ai/에서 생성한 이미지로, 앞으로도 유용하게 사용할 것 같습니다. 👍🏻 Napkin AI - The visual AI for business storytellingJust type, copy-paste or generate your text and Napkin will instantly transform it into insightful visuals. Make your communication more effective with Napkin.www.napkin.ai 🫙 크롤러로 데이터 수집 후 저장하기분석하기 전에 분석..
오늘은 저번 주에 배우지 못했던 SQL의 나머지 부분을 배워보면서 SQL에서도 심화 내용이지만, 꼭 알고 넘어가야하는 개념들을 짚고 넘어가보았습니다. 👏🏻 SQL 실력 높여보기!✨ 스토어드 프로시저스토어드 프로시저는 SQL로 프로그래밍하여 DB에 저장하고 그 내용을 재사용할 수 있도록 만들어주는 기능을 합니다.복잡한 쿼리들을 이 프로시저 내부에 저장하고 호출해 사용함으로써 다양한 이점이 존재합니다. 💡 프로시저의 장점절차적인 기능 구현이 가능해, IF나 WHILE 같은 제어 문장으로 프로그래밍을 할 수가 있습니다.호출한 곳에서는 별도의 수정 작업이 필요하지 않기 때문에 유지보수에 용이합니다.한 번의 요청으로 여러 SQL 문을 실행할 수 있어서 트래픽이 감소됩니다.MySQL의 스토어드 프로시저는 자체..
오늘은 SQL의 여러 가지 관련 함수들을 배우고, 항공 여객 데이터를 분석하고 시각화하며 개인 프로젝트를 진행하게 되었습니다.국내 항공 데이터를 분석한 과정은 다음 글에 작성되어 있습니다! [Data Analysis] 국내 항공기 운항 데이터이번에는 국내 항공기들을 대상으로 운항했던 기록 데이터를 가지고 분석했던 내용들을 정리해보고자 합니다. ✈️ 항공기 운항 실태 조사오후부터는 강사님께서 제공해주신 국내노선 여객injoycode.tistory.com 🤷🏻 여러 가지 함수들SQL에서 함수는 크게 문자열, 숫자, 날짜, 집계, 수학 관련 함수로 나눌 수 있는데, 저희는 수학 관련 함수는 따로 다루진 않았습니다! ❌ 문자열 함수💡 문자열을 연결할 때SELECT CONCAT('I', 'Love ', '..
오늘은 SQL에서 JOIN의 유형들, 서브쿼리, CTE 관련 내용들을 배우며 실습을 진행했고, 후반부에는 sakila DB를 통해 데이터 분석 프로젝트를 수행하였습니다. 👨🏻👩🏻👧🏻👦🏻 JOINSQL에서 JOIN은 테이블 A의 열을 테이블 B에 포함하여 조회하고 싶을 때 사용되는 아주 중요한 요소입니다!데이터를 모델링할 때는 데이터의 중복을 최소화하는 것이 중요하기 때문에 조인을 사용해서 테이블 2개 이상을 조합한 결과를 조회하는 것이 효과적이라고 할 수 있습니다. ✨ JOIN의 종류이런 JOIN에 어떤 종류가 있는지 알아보겠습니다. 💡 INNER JOINSELECT [열]FROM [테이블 1] INNER JOIN [테이블 2] ON [테이블 1.열] = [테이블 2.열]..
오늘부터 ! (사실 어제부터) SQL을 본격적으로 들어가게 되었습니다. 실습 환경은 MySQL이고, 오늘은 간단하게 기본적인 문법 몇 가지와 관련 SQL 문제를 풀게 되었습니다. 🌱 SQL의 기본적인 문법어제 드디어 기나긴 학부 생활이 종료되고, 졸업식이 있었던 날이었습니다! 😀 그래서 어제 하루는 수업을 듣지 못해 GROUP BY부터 진행하게 되는 점 양해 부탁드립니다. 🙇🏻♂️ 시간이 되면 앞부분도 정리해서 추가로 올리도록 하겠습니다. ✨ GROUP BYSELECT [열] FROM [테이블] WHERE [열] = [조건값] GROUP BY [열] HAVING [열] = [조건값]GROUP BY는 하나의 열, 혹은 2개 이상의 열을 기준으로 그룹화를 가능하게 해주는 명령어입니다.데이터를 그룹화..