⭐
동물 보호소에 들어온 동물 중
-- 코드를 입력하세요
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION NOT IN ('Aged')
ORDER BY ANIMAL_ID
젊은 동물이므로 INTAKE_CONDITION이 'Aged'가 아니면 되는 것입니다.
⭐
-- 코드를 입력하세요
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
ORDER BY
만 써주면 되는 간단한 문제입니다.
⭐
-- 코드를 입력하세요
SELECT ANIMAL_ID, NAME, DATETIME
FROM ANIMAL_INS
ORDER BY NAME, DATETIME DESC;
이 문제 역시 ORDER BY
를 써주면 되는 문제입니다. 이름이 같다면 보호를 나중에 시작한 동물이므로 DATETIME에 관해서는 내림차순으로 정렬합니다.
⭐⭐⭐
USED_GOODS_BOARD와 USED_GOODS_USER 테이블에서
-- 코드를 입력하세요
SELECT U.USER_ID, U.NICKNAME, SUM(B.PRICE) AS TOTAL_SALES
FROM USED_GOODS_BOARD AS B JOIN USED_GOODS_USER AS U ON B.WRITER_ID = U.USER_ID
WHERE STATUS = 'DONE'
GROUP BY B.WRITER_ID
HAVING SUM(B.PRICE) >= 700000
ORDER BY TOTAL_SALES;
WHERE
절에서는 완료된 중고 거래이므로, 조건을 필터링합니다.
또한 사용자별 총 금액을 계산하기 위해 GROUP BY
하고 HAVING
절에서 집계 함수를 사용합니다.
⭐
CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서
-- 코드를 입력하세요
SELECT HISTORY_ID, CAR_ID,
DATE_FORMAT(START_DATE, "%Y-%m-%d") AS START_DATE,
DATE_FORMAT(END_DATE, "%Y-%m-%d") AS END_DATE,
IF((DATEDIFF(END_DATE, START_DATE)+1)>=30, '장기 대여', '단기 대여') AS RENT_TYPE
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE BETWEEN '2022-09-01' AND '2022-09-30'
ORDER BY HISTORY_ID DESC;
WHERE
절에서 대여 시작일이 2022년 9월에 속하는 경우를 필터링합니다.
또한 RENT_TYPE을 파생변수로 생성하기 위해 IF
함수를 사용했습니다. 만약 END_DATE와 START_DATE의 차이+1이 30일 이상이면 '장기 대여' 아니면 '단기 대여'로 표시하도록 설정했습니다.