SQL 문제풀이(3)
-
프로그래머스 SQL 5단계 문제풀이
문제 : 상품을 구매한 회원 비율 구하기 문제 핵심문제 잘 이해하기.. 조건USER_INFO 테이블과 ONLINE_SALE 테이블에서 2021년에 가입한 전체 회원들 중 상품을 구매한 회원수와 상품을 구매한 회원의 비율(=2021년에 가입한 회원 중 상품을 구매한 회원수 / 2021년에 가입한 전체 회원 수)을 년, 월 별로 출력하는 SQL문을 작성해주세요. 상품을 구매한 회원의 비율은 소수점 두번째자리에서 반올림하고, 전체 결과는 년을 기준으로 오름차순 정렬해주시고 년이 같다면 월을 기준으로 오름차순 정렬해주세요. 풀이흐름1. CTE로 2021년에 가입한 USER_ID의 합 계산 CTE로 먼저 2021년에 가입한 USER_ID의 합을 계산해둔다 나중에 행 마다 연산하지 않기 위해서이다 2. 메인쿼리의 ..
2025.03.28 -
프로그래머스 SQL 4단계 문제풀이
문제 : 보호소에서 중성화한 동물 이름 문제핵심특정 문자열을 포함하는 데이터 조회하기 조건ANIMAL_INS 테이블의 SEX_UPON_INTAKE 열이 'Intact' 이면서ANIMAL_OUTS 테이블의 SEX_UPON_OUTCOME 열이 'Neutered' 거나 'Spayed' 인데이터를 ANIAL_ID 기준 오름차순 정렬 WHERE 절에서만 쿼리를 잘 짜면 쉽다Neutered 와 Spayed 의 조건을 설정할 때, LIKE 를 사용하면 두 줄을 써야하기 때문에REGEXP 를 사용해서 코드를 조금 짧게 만들었다SELECT i.ANIMAL_ID, i.ANIMAL_TYPE, i.NAMEFROM ANIMAL_INS i INNER JOIN ANIMAL_OUTS o ON i.ANIMA..
2025.03.22 -
프로그래머스 SQL 3단계 문제풀이
문제 : 오랜기간 보호한 동물(1)문제요약입양을 가지 않은 동물 중 가장 오래 보관된 동물 3마리의 이름과 보호시작일을 조회하라 주어진 테이블보관일 날짜가 있는 동물보호소 테이블 ANIMAL_INS입양일 날짜가 있는 동물보호소 테이블 ANIMAL_OUTS 풀이 흐름ANIMAL_OUTS 에 있는 동물은 모두 ANIMAL_INS 에 존재한다ANIMAL_INS 에는 있지만 ANIMAL_OUTS에는 없는 동물이 입양되지 않은 동물이다그러므로 WHERE 문에서 ANIMAL_OUTS에는 없는 ANIMAL_ID만 ANIMAL_INS 에서 조회한다문제의 나머지 조건에 맞춰 SELECT 문에서 이름과 보호시작일을 선택한다보호시작일을 오름차순으로 정렬한 뒤 LIMIT 문으로 3개의 케이스만 조회하면보호시작일이 오래된 3개..
2025.03.17