목록2024/12 (153)
susinlee 님의 블로그
[문제] https://school.programmers.co.kr/learn/courses/30/lessons/157339 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 자동차 종류가 '세단' 또는 'SUV' 인 자동차 중 2022년 11월 1일부터 2022년 11월 30일까지 대여 가능하고 30일간의 대여 금액이 50만원 이상 200만원 미만인 자동차에 대해서 자동차 ID, 자동차 종류, 대여 금액(컬럼명: FEE) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 대여 금액을 기준으로 내림차순 정렬하고, 대여 금액이 같은 경우 자동차 종류를 기준으로 오름차순 정렬, 자동차 종류까지 같은 경우 자동..
[문제] 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. [단계별 풀이] 해당 문제는 이빠진 데이터를 채워야하는 문제로 재귀저문제]보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. [단계별 풀이]해당 문제는 이빠진 데이터를 채워야하는 문제로 재귀테이블을 사용해야한다구조를 알아보자WITH RECURSIVE 테이블명 (컬럼명) AS ( SELECT 초기값 UNION AL..
[문제] USED_GOODS_BOARD와 USED_GOODS_REPLY 테이블에서 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회하는 SQL문을 작성해주세요. 결과는 댓글 작성일을 기준으로 오름차순 정렬해주시고, 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬해주세요. [단계별 풀이] 1. 두 테이블을 BOARD_ID로 JOIN2. 게시글 작성일자가 2022년 10월인 행들만 필터링3. 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회4. 댓글 작성일, 제목을 오름차순 정렬 [정답]SELECT B.TITLE, B.BOARD_ID, R.REPLY_ID, ..
[문제] ONLINE_SALE 테이블과 OFFLINE_SALE 테이블에서 2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력하는 SQL문을 작성해주세요. OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL 로 표시해주세요. 결과는 판매일을 기준으로 오름차순 정렬해주시고 판매일이 같다면 상품 ID를 기준으로 오름차순, 상품ID까지 같다면 유저 ID를 기준으로 오름차순 정렬해주세요. [단계별 풀이] 1. 두 테이블을 판매날짜 기준으로 합하되 FULL OUTER JOIN을 하자2. LEFT JOIN과 RIGHT JOIN을 UNION 해주자3. 이때 OFF 테이블의 USER_ID는 NULL 처리 해준다4. 판매 날짜, 상품ID, 유저ID,..
[문제] FOOD_FACTORY 테이블에서 강원도에 위치한 식품공장의 공장 ID, 공장 이름, 주소를 조회하는 SQL문을 작성해주세요. 이때 결과는 공장 ID를 기준으로 오름차순 정렬해주세요.[단계별 풀이] 1. ADDRESS가 강원인 행을 필터링 (LIKE연산자)2. ID, NAME, ADDRESS 출력3. ID로 오름차순 정렬[정답]SELECT FACTORY_ID, FACTORY_NAME, ADDRESSFROM FOOD_FACTORYWHERE ADDRESS LIKE '강원%'ORDER BY FACTORY_ID
SQL 블로그 정리는 주말내로 마무리가 될 것 같다. 정리를 끝맞치면 다시 SQL 코드카타를 계속 풀어나가고 푼 것을 TIL 작성 시간에 정리하는 시간을 가져야겠다. 다음 주 부터는 파이썬을 블로그에 정리하게 될텐데 SQL처럼 처음부터 끝까지 다하는 것보다는 현재 수준에서 어려웠던 것들이나 내 생각하기에 괜찮은 아이디어로 푼 것들, 혹은 내가 생각하지 못한 아이디어로 푼 코드들에 한에서 정리해야겠다. 데이터 문해력, 데이터 리터러시, 파이썬 종합반을 완독, 완강했다. 다음 주에는 지금 하고 있는 어쩌다 데이터 분석을 마무리할 것 같다. 주말내로도 시간을 좀 낸다면 할 수 있을 것 같다. 그러면 코드카타에 좀 더 집중할 시간이 생길 것 같긴한데 너무 코딩테스트에만 집중하진 않으려고 한다. 단기간에 막 실..
오늘 QCC 본거 정리하자. 일단 둘 다 패스했다. 2번 문제를 3가지 방식으로 풀었는데 한 가지 더 추가해서 4가지로 풀어보고 서브상관쿼리와 윈도우함수에 대해 복습하는 시간을 갖자. 문제: 각 대륙에서 인구가 가장 많은 도시를 조사해야한다. 도시 이름, 국가 이름, 대륙, 도시 인구수를 출력하자 단계별 풀이 1. 두 테이블을 조인해주자. city.countrycode와 country.code를 연결하고 대륙별로 group by 한 후 city의 인구 수 중 가장 큰 애들만 가져오자. 2. 이를 하나의 테이블로 보고 조인으로 먼저 풀어보자해당 테이블을 sub으로 city와 country가 합쳐진 테이블에 country.continent 를 기준으로 JOIN해주자 다음 조건절로 마무리 (sub max(c..
[문제] MEMBER_PROFILE와 REST_REVIEW 테이블에서 리뷰를 가장 많이 작성한 회원의 리뷰들을 조회하는 SQL문을 작성해주세요. 회원 이름, 리뷰 텍스트, 리뷰 작성일이 출력되도록 작성해주시고, 결과는 리뷰 작성일을 기준으로 오름차순, 리뷰 작성일이 같다면 리뷰 텍스트를 기준으로 오름차순 정렬해주세요. [단계별 풀이] 1. 우선 리뷰 MEMBER_ID 로 GROUP BY 해서 REVIEW 의 갯수를 구한다. 정렬하고 1행만 남겨둔다2. 해당 쿼리를 서브쿼리로 보내고3. 멤버테이블과 리뷰테이블을 MEMBER_ID로 JOIN4. 이름과 리뷰텍스트, 작성일을 조회한다5. 아까 보낸 서브쿼리서 MEMBER_ID를 가져와 같은 것들만 필터링6. 정렬[정답]SELECT M.MEMBER_NAME..