분류 전체보기
-
[SQL 프로그래머스 GROUP BY] 식품분류별 가장 비싼 식품의 정보 조회하기(ORACLE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 5. 24. 17:50
식품분류별 가장 비싼 식품의 정보 조회하기 FOOD_PRODUCT 테이블에서 식품분류별로 가격이 제일 비싼 식품의 분류, 가격, 이름을 조회하는 SQL문을 작성해주세요. 이때 식품분류가 '과자', '국', '김치', '식용유'인 경우만 출력시켜 주시고 결과는 식품 가격을 기준으로 내림차순 정렬해주세요. -- MYSQL SELECT CATEGORY, PRICE, PRODUCT_NAME FROM FOOD_PRODUCT WHERE (CATEGORY, PRICE) IN ( SELECT CATEGORY, MAX(PRICE) FROM FOOD_PRODUCT GROUP BY CATEGORY HAVING CATEGORY IN ('과자', '국', '김치', '식용유') ) ORDER BY PRICE DESC; -- O..
-
[SQL 프로그래머스 GROUP BY] 저자 별 카테고리 별 매출액 집계하기(ORACLE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 5. 23. 18:42
저자 별 카테고리 별 매출액 집계하기 2022년 1월의 도서 판매 데이터를 기준으로 저자 별, 카테고리 별 매출액(TOTAL_SALES = 판매량 * 판매가) 을 구하여, 저자 ID(AUTHOR_ID), 저자명(AUTHOR_NAME), 카테고리(CATEGORY), 매출액(SALES) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 저자 ID를 오름차순으로, 저자 ID가 같다면 카테고리를 내림차순 정렬해주세요. -- MYSQL SELECT AB.AUTHOR_ID, C.AUTHOR_NAME, AB.CATEGORY, SUM(SALES*PRICE) AS TOTAL_SALES FROM (SELECT * FROM BOOK_SALES AS A NATURAL JOIN BOOK AS B WHERE DATE_FORMAT..
-
[SQL 프로그래머스 GROUP BY] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기(ORACLE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 5. 23. 18:41
대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일을 기준으로 2022년 8월부터 2022년 10월까지 총 대여 횟수가 5회 이상인 자동차들에 대해서 해당 기간 동안의 월별 자동차 ID 별 총 대여 횟수(컬럼명: RECORDS) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 월을 기준으로 오름차순 정렬하고, 월이 같다면 자동차 ID를 기준으로 내림차순 정렬해주세요. 특정 월의 총 대여 횟수가 0인 경우에는 결과에서 제외해주세요. -- MYSQL SELECT MONTH(START_DATE) AS MONTH, R.CAR_ID, COUNT(*) AS RECORDS FROM CAR_RENTAL_COMPANY_RENTAL_HI..
-
[SQL 프로그래머스 GROUP BY] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기(ORACLE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 5. 23. 18:37
자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 2022년 10월 16일에 대여 중인 자동차인 경우 '대여중' 이라고 표시하고, 대여 중이지 않은 자동차인 경우 '대여 가능'을 표시하는 컬럼(컬럼명: AVAILABILITY)을 추가하여 자동차 ID와 AVAILABILITY 리스트를 출력하는 SQL문을 작성해주세요. 이때 반납 날짜가 2022년 10월 16일인 경우에도 '대여중'으로 표시해주시고 결과는 자동차 ID를 기준으로 내림차순 정렬해주세요. -- MYSQL SELECT CAR_ID, CASE WHEN SUM(IF('2022-10-16' BETWEEN START_DATE AND END_DATE, 1, 0)) = 0 THE..
-
[SQL 프로그래머스 SUM, MAX, MIN] 중복 제거하기(ORACLE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 5. 23. 18:36
중복 제거하기 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다. -- MYSQL SELECT COUNT(NAME) FROM (SELECT DISTINCT NAME FROM ANIMAL_INS) AS A; -- ORACLE SELECT COUNT(NAME) FROM (SELECT DISTINCT NAME FROM ANIMAL_INS);
-
[SQL 프로그래머스 SUM, MAX, MIN] 최솟값 구하기(ORACLE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 5. 23. 18:34
최솟값 구하기 동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요. -- MYSQL SELECT DATETIME AS "시간" FROM ANIMAL_INS ORDER BY DATETIME ASC LIMIT 1; -- ORACLE SELECT DATETIME AS "시간" FROM ANIMAL_INS ORDER BY DATETIME ASC FETCH FIRST 1 ROWS ONLY;
-
[SQL 프로그래머스 SUM, MAX, MIN] 최댓값 구하기(ORACLE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 5. 23. 18:33
최댓값 구하기 가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요. -- MYSQL SELECT DATETIME AS "시간" FROM ANIMAL_INS ORDER BY DATETIME DESC LIMIT 1; -- ORACLE SELECT DATETIME AS "시간" FROM ANIMAL_INS ORDER BY DATETIME DESC FETCH FIRST 1 ROWS ONLY;