문제
코드
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
문제
코드
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
문제
코드
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
문제
코드
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
문제
코드
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
프로그래머스 년, 월, 성별 별 상품 구매 회원 수 구하기
문제
코드
문제
코드
문제
코드
문제
코드
문제
코드
문제
코드
문제
코드
문제
코드
문제
코드
문제
코드
문제
코드