Programming/SQL (10) 썸네일형 리스트형 [programmers] 5월 식품들의 총매출 조회하기 문제 FOOD_PRODUCT와 FOOD_ORDER 테이블에서 생산일자가 2022년 5월인 식품들의 식품 ID, 식품 이름, 총매출을 조회하는 SQL문을 작성해주세요. 이때 결과는 총매출을 기준으로 내림차순 정렬해주시고 총매출이 같다면 식품 ID를 기준으로 오름차순 정렬해주세요. 풀이 - 두 개의 테이블에서 원하는 필드를 가져오기 위해 JOIN 사용 - 총매출은 SUM() 을 사용(수량*가격) - GROUP BY 를 사용해 ID 별 합계를 구함 - 2022-04-04 형태의 데이터에서 연도와 월만 비교하기 위해 YEAR(), MONTH() 사용 - ORDER BY 로 정렬 SELECT A.PRODUCT_ID, B.PRODUCT_NAME, (SUM(A.AMOUNT) * B.PRICE) AS TOTAL_SAL.. [programmers] 있었는데요 없었습니다 문제 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일이 빠른 순으로 조회해야합니다. 풀이 - 두 개의 테이블에서 원하는 필드를 가져오기 위해 JOIN(INNER JOIN) 사용 - DATETIME 을 비교(날짜는 연산자로 비교 가능) - 정렬 SELECT INS.ANIMAL_ID, INS.NAME FROM ANIMAL_INS INS INNER JOIN ANIMAL_OUTS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID WHERE INS.DATETIME > OUTS.DATETIME ORDER BY INS.DATETIME 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프.. [programmers] 없어진 기록 찾기 문제 천재지변으로 인해 일부 데이터가 유실되었습니다. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 SQL문을 작성해주세요. 풀이 - 두 테이블을 비교해 한 쪽에만 있는 데이터를 조회하기 위해 LEFT OUTER JOIN 사용 - IS NULL 을 사용하여 ID 가 없는 값만 조회 - ID 를 기준으로 정렬 SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_OUTS OUTS LEFT JOIN ANIMAL_INS INS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID WHERE INS.ANIMAL_ID IS NULL ORDER BY OUTS.ANIMAL_ID; 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 .. [programmers] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 문제 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일을 기준으로 2022년 8월부터 2022년 10월까지 총 대여 횟수가 5회 이상인 자동차들에 대해서 해당 기간 동안의 월별 자동차 ID 별 총 대여 횟수(컬럼명: RECORDS) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 월을 기준으로 오름차순 정렬하고, 월이 같다면 자동차 ID를 기준으로 내림차순 정렬해주세요. 특정 월의 총 대여 횟수가 0인 경우에는 결과에서 제외해주세요. 풀이 - WHERE 조건에 들어갈 SELECT 문을 먼저 작성(subquery) - BETWEEN 을 사용해 원하는 기간 설정 - GROUP BY 로 ID 로 그룹화 하고, COUNT() 로 데이터가 5개 이상인 ID 만 출력하도록 함 *.. [programmers] 카테고리 별 도서 판매량 집계하기 문제 2022년 1월의 카테고리 별 도서 판매량을 합산하고, 카테고리(CATEGORY), 총 판매량(TOTAL_SALES) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 카테고리명을 기준으로 오름차순 정렬해주세요. 풀이 - 두 개의 테이블에서 원하는 필드를 조회하기 위해 INNER JOIN 사용 - 합계를 구하기 위해 집계함수 SUM() 사용 - 2022 년 1월 데이터만 조회하기 위해 LIKE 로 체크 - GROUP BY 에 집계함수 그룹화 기준 작성 - ORDER BY 로 오름차 정렬 SELECT b.CATEGORY, SUM(bs.SALES) AS TOTAL_SALES FROM BOOK b JOIN BOOK_SALES bs ON b.BOOK_ID = bs.BOOK_ID WHERE bs.SALES_.. [programmers] 가격이 제일 비싼 식품의 정보 출력하기 문제 FOOD_PRODUCT 테이블에서 가격이 제일 비싼 식품의 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 조회하는 SQL문을 작성해주세요. 풀이 - 최대값을 구하기 위해 MAX() 사용 - 집계함수는 WHERE 조건에 바로 사용할 수 없으므로 서브쿼리 형태로 사용 ** HAVING 에서는 집계 함수 사용 가능 SELECT * FROM FOOD_PRODUCT WHERE PRICE = (SELECT MAX(PRICE) PRICE FROM FOOD_PRODUCT); 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [programmers] 가격대 별 상품 개수 구하기 문제 PRODUCT 테이블에서 만원 단위의 가격대 별로 상품 개수를 출력하는 SQL 문을 작성해주세요. 이때 컬럼명은 각각 컬럼명은 PRICE_GROUP, PRODUCTS로 지정해주시고 가격대 정보는 각 구간의 최소금액(10,000원 이상 ~ 20,000 미만인 구간인 경우 10,000)으로 표시해주세요. 결과는 가격대를 기준으로 오름차순 정렬해주세요. 풀이 - 가격대 별로 구간을 나누기 위해 TRUNCATE(number, decimals) 사용 - 구간별 개수 출력 위해 COUNT(*) 사용 SELECT TRUNCATE(PRICE,-4) AS PRICE_GROUP, COUNT(*) AS PRODUCTS FROM PRODUCT GROUP BY TRUNCATE(PRICE,-4) ORDER BY PRICE_.. [programmers] 평균 일일 대여 요금 구하기 문제 CAR_RENTAL_COMPANY_CAR 테이블에서 자동차 종류가 'SUV'인 자동차들의 평균 일일 대여 요금을 출력하는 SQL문을 작성해주세요. 이때 평균 일일 대여 요금은 소수 첫 번째 자리에서 반올림하고, 컬럼명은 AVERAGE_FEE 로 지정해주세요. 풀이 - SUV 인 자동차들만 조회 -> WHERE 에 조건 주기 - 평균 요금을 구하기 위해 AVG() 사용 - 반올림한 값 출력 위해 ROUND(number, decimals) 사용 SELECT ROUND(AVG(DAILY_FEE), 0) AS AVERAGE_FEE FROM CAR_RENTAL_COMPANY_CAR WHERE CAR_TYPE = 'SUV' 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자.. 이전 1 2 다음 목록 더보기