본문 바로가기
728x90

SQL70

[MySQL] 프로그래머스 String, Date 02 조건에 부합하는 중고거래 상태 조회하기 문제 USED_GOODS_BOARD 테이블에서 2022년 10월 5일에 등록된 중고거래 게시물의 게시글 ID, 작성자 ID, 게시글 제목, 가격, 거래상태를 조회하는 SQL문을 작성해주세요. 거래상태가 SALE 이면 판매중, RESERVED이면 예약중, DONE이면 거래완료 분류하여 출력해주시고, 결과는 게시글 ID를 기준으로 내림차순 정렬해주세요. 풀이 SELECT BOARD_ID , WRITER_ID , TITLE , PRICE , CASE STATUS WHEN 'SALE' THEN '판매중' WHEN 'RESERVED' THEN '예약중' WHEN 'DONE' THEN '거래완료' END STATUS FROM USED_GOODS_BOARD WHERE CREATED_DATE = '2022-10-05'.. 2023. 10. 2.
[MySQL] 프로그래머스 String, Date 01 자동차 평균 대여 기간 구하기 문제 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 평균 대여 기간이 7일 이상인 자동차들의 자동차 ID와 평균 대여 기간(컬럼명: AVERAGE_DURATION) 리스트를 출력하는 SQL문을 작성해주세요. 평균 대여 기간은 소수점 두번째 자리에서 반올림하고, 결과는 평균 대여 기간을 기준으로 내림차순 정렬해주시고, 평균 대여 기간이 같으면 자동차 ID를 기준으로 내림차순 정렬해주세요. 풀이 SELECT CAR_ID , ROUND(AVG(DATEDIFF(END_DATE, START_DATE)+1),1) AVERAGE_DURATION FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY GROUP BY CAR_ID HAVING AVG(DATEDIFF(END_DATE.. 2023. 10. 2.
[MySQL] 프로그래머스 JOIN 10 상품별 오프라인 매출 구하기 문제 PRODUCT 테이블과 OFFLINE_SALE 테이블에서 상품코드 별 매출액(판매가 * 판매량) 합계를 출력하는 SQL문을 작성해주세요. 결과는 매출액을 기준으로 내림차순 정렬해주시고 매출액이 같다면 상품코드를 기준으로 오름차순 정렬해주세요. 풀이 SELECT PRODUCT_CODE , SUM(P.PRICE * O.SALES_AMOUNT) SALES FROM PRODUCT P INNER JOIN OFFLINE_SALE O ON P.PRODUCT_ID = O.PRODUCT_ID GROUP BY PRODUCT_CODE ORDER BY SALES DESC , PRODUCT_CODE 2023. 10. 2.
[MySQL] 프로그래머스 JOIN 09 보호소에서 중성화한 동물 문제 보호소에 들어올 당시에는 중성화되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 조회하는 아이디 순으로 조회하는 SQL 문을 작성해주세요. 풀이 SELECT I.ANIMAL_ID , I.ANIMAL_TYPE , I.NAME FROM ANIMAL_INS I INNER JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE I.SEX_UPON_INTAKE LIKE '%Intact%' AND (O.SEX_UPON_OUTCOME LIKE '%Spayed%' OR O.SEX_UPON_OUTCOME LIKE '%Neutered%') ORDER BY I.ANIMAL_ID 2023. 10. 2.
[MySQL] 프로그래머스 JOIN 08 오랜 기간 보호한 동물(1) 문제 아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일 순으로 조회해야 합니다. 풀이 SELECT I.NAME , I.DATETIME FROM ANIMAL_INS I LEFT OUTER JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE O.ANIMAL_ID IS NULL ORDER BY I.DATETIME LIMIT 3 OFFSET 0 2023. 10. 2.
[MySQL] 프로그래머스 JOIN 07 있었는데요 없었습니다 . 문제 관리자의 실수로 일부 동물의 입양일이 잘못 입력되었습니다. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일이 빠른 순으로 조회해야합니다. 풀이 SELECT I.ANIMAL_ID , I.NAME FROM ANIMAL_INS I INNER JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE I.DATETIME > O.DATETIME ORDER BY I.DATETIME 2023. 10. 2.
728x90