SQL - 프로그래머스 Lv3 ~ 4

수현·2023년 12월 18일
0

Coding Test

목록 보기
14/14

📒 Lv3

📕 카테고리 별 도서 판매량 집계하기

프로그래머스 카테고리 별 도서 판매량 집계하기

문제

코드

SELECT A.CATEGORY, SUM(B.SALES) AS TOTAL_SALES
FROM BOOK A
INNER JOIN BOOK_SALES B
ON A.BOOK_ID = B.BOOK_ID
WHERE SUBSTR(SALES_DATE, 1, 7) = '2022-01'
GROUP BY CATEGORY
ORDER BY CATEGORY

📕 오랜 기간 보호한 동물(1)

프로그래머스 오랜 기간 보호한 동물(1)

문제

코드

SELECT A.NAME, A.DATETIME
FROM ANIMAL_INS A
LEFT OUTER JOIN ANIMAL_OUTS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.DATETIME IS NULL
ORDER BY A.DATETIME
LIMIT 3

📕 있었는데요 없었습니다

프로그래머스 있었는데요 없었습니다

문제

코드

SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_INS A
LEFT OUTER JOIN ANIMAL_OUTS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.DATETIME > B.DATETIME
ORDER BY A.DATETIME

📕 오랜 기간 보호한 동물(2)

프로그래머스 오랜 기간 보호한 동물(2)

문제

코드

SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_INS A
LEFT OUTER JOIN ANIMAL_OUTS B
ON A.ANIMAL_ID = B.ANIMAL_ID
ORDER BY (B.DATETIME - A.DATETIME) DESC
LIMIT 2

📕 조건별로 분류하여 주문상태 출력하기

프로그래머스 조건별로 분류하여 주문상태 출력하기

문제

코드

SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE, "%Y-%m-%d"),
    CASE
        WHEN (SUBSTR(OUT_DATE, 6, 9) > "05-01") = 0 THEN "출고완료"
        WHEN (SUBSTR(OUT_DATE, 6, 9) > "05-01") = 1 THEN "출고대기"
        WHEN OUT_DATE IS NULL THEN "출고미정"
    END AS "출고여부"
FROM FOOD_ORDER
ORDER BY ORDER_ID

📕 조건에 맞는 사용자와 총 거래금액 조회하기

프로그래머스 조건에 맞는 사용자와 총 거래금액 조회하기

문제

코드

SELECT B.USER_ID, B.NICKNAME, SUM(A.PRICE) AS TOTAL_SALES
FROM USED_GOODS_BOARD A
INNER JOIN USED_GOODS_USER B
ON A.WRITER_ID = B.USER_ID
WHERE A.STATUS = 'DONE'
GROUP BY B.USER_ID
HAVING SUM(A.PRICE) >= 700000
ORDER BY TOTAL_SALES

📕 대여 기록이 존재하는 자동차 리스트 구하기

프로그래머스 대여 기록이 존재하는 자동차 리스트 구하기

문제

코드

SELECT DISTINCT(A.CAR_ID)
FROM CAR_RENTAL_COMPANY_CAR A
INNER JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY B
ON A.CAR_ID = B.CAR_ID
WHERE A.CAR_TYPE = '세단' AND SUBSTR(B.START_DATE, 1, 7) = '2022-10'
ORDER BY A.CAR_ID DESC

📕 즐겨찾기가 가장 많은 식당 정보 출력하기

프로그래머스 즐겨찾기가 가장 많은 식당 정보 출력하기

문제

코드

SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITES
FROM REST_INFO
WHERE (FOOD_TYPE, FAVORITES) 
IN (
    SELECT FOOD_TYPE, MAX(FAVORITES)
    FROM REST_INFO
    GROUP BY FOOD_TYPE
)
ORDER BY FOOD_TYPE DESC

📕 없어진 기록 찾기

프로그래머스 없어진 기록 찾기

문제

코드

SELECT B.ANIMAL_ID, B.NAME
FROM ANIMAL_OUTS B 
LEFT OUTER JOIN ANIMAL_INS A
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.ANIMAL_ID IS NULL
ORDER BY B.ANIMAL_ID

📕 조건에 맞는 사용자 정보 조회하기

프로그래머스 조건에 맞는 사용자 정보 조회하기

문제

코드

SELECT USER_ID, NICKNAME, CONCAT(CITY, ' ', STREET_ADDRESS1, ' ', STREET_ADDRESS2) AS '전체주소', CONCAT(SUBSTR(TLNO, 1, 3), '-', SUBSTR(TLNO, 4, 4), '-', SUBSTR(TLNO, 8, 4)) AS '전화번호'
FROM USED_GOODS_USER
WHERE USER_ID IN (
    SELECT WRITER_ID
    FROM USED_GOODS_BOARD
    GROUP BY WRITER_ID
    HAVING COUNT(*) >= 3
)
ORDER BY USER_ID DESC

📕 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기

프로그래머스 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기

문제

코드

SELECT CAR_ID, CASE
    WHEN 
        MAX('2022-10-16' BETWEEN START_DATE AND END_DATE)
        THEN '대여중'
        ELSE '대여 가능'
    END AS AVAILABILITY
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
ORDER BY CAR_ID DESC

📕 헤비 유저가 소유한 장소

프로그래머스 헤비 유저가 소유한 장소

문제

코드

SELECT *
FROM PLACES
WHERE HOST_ID IN (
    SELECT HOST_ID
    FROM PLACES
    GROUP BY HOST_ID
    HAVING COUNT(*) >= 2
)

📕 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기

프로그래머스 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기

문제

코드

SELECT CONCAT('/home/grep/src/', BOARD_ID, '/', FILE_ID, FILE_NAME, FILE_EXT) AS 'FILE_PATH'
FROM USED_GOODS_FILE
WHERE BOARD_ID = (
    SELECT BOARD_ID
    FROM USED_GOODS_BOARD
    GROUP BY BOARD_ID
    ORDER BY VIEWS DESC
    LIMIT 1
)
ORDER BY FILE_ID DESC

📕 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기

프로그래머스 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기

문제

코드

SELECT MONTH(START_DATE) AS MONTH, CAR_ID, COUNT(HISTORY_ID) AS RECORDS
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE CAR_ID IN (
        SELECT CAR_ID
        FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
        WHERE (DATE_FORMAT(START_DATE, '%Y-%m') BETWEEN '2022-08' AND '2022-10')
        GROUP BY CAR_ID
        HAVING COUNT(CAR_ID) >= 5
) AND  (DATE_FORMAT(START_DATE, '%Y-%m') BETWEEN '2022-08' AND '2022-10')
GROUP BY MONTH, CAR_ID
HAVING RECORDS > 0
ORDER BY MONTH ASC, CAR_ID DESC

📒 Lv4

📕 보호소에서 중성화한 동물

프로그래머스 보호소에서 중성화한 동물

문제

코드

SELECT B.ANIMAL_ID, B.ANIMAL_TYPE, B.NAME
FROM ANIMAL_INS A
LEFT OUTER JOIN ANIMAL_OUTS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.SEX_UPON_INTAKE LIKE 'Intact%' AND B.SEX_UPON_OUTCOME NOT LIKE 'Intact%'
ORDER BY B.ANIMAL_ID

📕 식품분류별 가장 비싼 식품의 정보 조회하기

프로그래머스 식품분류별 가장 비싼 식품의 정보 조회하기

문제

코드

SELECT CATEGORY, PRICE AS MAX_PRICE, PRODUCT_NAME
FROM FOOD_PRODUCT
WHERE PRICE IN (
    SELECT MAX(PRICE)
    FROM FOOD_PRODUCT
    GROUP BY CATEGORY
) AND CATEGORY IN ('과자', '국', '김치', '식용유')
ORDER BY PRICE DESC

📕 5월 식품들의 총매출 조회하기

프로그래머스 5월 식품들의 총매출 조회하기

문제

코드

SELECT B.PRODUCT_ID, B.PRODUCT_NAME, (SUM(A.AMOUNT) * B.PRICE) AS TOTAL_SALES
FROM FOOD_ORDER A
LEFT OUTER JOIN FOOD_PRODUCT B
ON A.PRODUCT_ID = B.PRODUCT_ID
WHERE DATE_FORMAT(A.PRODUCE_DATE, '%Y-%m') = '2022-05'
GROUP BY B.PRODUCT_NAME
ORDER BY TOTAL_SALES DESC, PRODUCT_ID ASC

📕 취소되지 않은 진료 예약 조회하기

프로그래머스 취소되지 않은 진료 예약 조회하기

문제

코드

SELECT A.APNT_NO, B.PT_NAME, B.PT_NO, C.MCDP_CD, C.DR_NAME, A.APNT_YMD
FROM APPOINTMENT A
LEFT OUTER JOIN PATIENT B
ON A.PT_NO = B.PT_NO
LEFT OUTER JOIN DOCTOR C
ON A.MDDR_ID = C.DR_ID
WHERE DATE_FORMAT(A.APNT_YMD, '%Y-%m-%d') = '2022-04-13' AND A.APNT_CNCL_YN = 'N'
ORDER BY A.APNT_YMD

📕 년, 월, 성별 별 상품 구매 회원 수 구하기

프로그래머스 년, 월, 성별 별 상품 구매 회원 수 구하기

문제

코드

📕

프로그래머스

문제

코드

📕

프로그래머스

문제

코드

📕

프로그래머스

문제

코드

📕

프로그래머스

문제

코드

📕

프로그래머스

문제

코드

📕

프로그래머스

문제

코드

📕

프로그래머스

문제

코드

📕

프로그래머스

문제

코드

📕

프로그래머스

문제

코드

📒 Lv5

📕

프로그래머스

문제

코드

📘

📖출처📖

프로그래머스 SQL

profile
Notion으로 이동 (https://24tngus.notion.site/3a6883f0f47041fe8045ef330a147da3?v=973a0b5ec78a4462bac8010e3b4cd5c0&pvs=4)

0개의 댓글