문제 푸는중~ / 아직 풀지 않는 문제의 풀이는 없습니다.
SELECT CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%네비게이션%'
ORDER BY 1 DESC;
SELECT COUNT(ID) FISH_COUNT
FROM FISH_INFO
WHERE TIME LIKE '2021%';
SELECT HISTORY_ID, CAR_ID, DATE_FORMAT(START_DATE, '%Y-%m-%d') START_DATE, DATE_FORMAT(END_DATE, '%Y-%m-%d') END_DATE,
IF(DATEDIFF(END_DATE, START_DATE) + 1 >= 30, '장기 대여', '단기 대여') RENT_TYPE
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE LIKE '2022-09%'
ORDER BY 1 DESC;
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE NAME LIKE '%EL%' AND ANIMAL_TYPE = 'Dog'
ORDER BY 2;
SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') AS '날짜'
FROM ANIMAL_INS;
- LEFT(문자열, 왼쪽부터 자를 길이)
풀이 1
SELECT CATEGORY, COUNT(CATEGORY) AS PRODUCTS
FROM (SELECT LEFT(PRODUCT_CODE, 2) AS CATEGORY FROM PRODUCT) AS C
GROUP BY CATEGORY
ORDER BY CATEGORY;
풀이 2
SELECT LEFT(PRODUCT_CODE, 2) AS CATEGORY, COUNT(*) AS PRODUCTS
FROM PRODUCT
GROUP BY CATEGORY
ORDER BY CATEGORY;
SELECT ANIMAL_ID, NAME,
CASE
WHEN SEX_UPON_INTAKE LIKE 'Intact %' THEN 'X'
ELSE 'O'
END AS '중성화'
FROM ANIMAL_INS;
SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty');
PM2.5 의 . 처럼 특수 문자를 포함한 경우 오류가 날 수 있음
- 별칭은 그냥 쓰기 또는 ""(큰 따옴표) / 문자열은 ''(작은 따옴표)
SELECT YEAR(YM) YEAR, ROUND(AVG(PM_VAL1), 2) PM10, ROUND(AVG(PM_VAL2), 2) "PM2.5"
FROM AIR_POLLUTION
WHERE LOCATION2 = '수원'
GROUP BY YEAR(YM)
ORDER BY YEAR;
풀이 1
SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE, '%Y-%m-%d') OUT_DATE,
CASE
WHEN OUT_DATE <= '2022-05-01' THEN '출고완료'
WHEN OUT_DATE IS NULL THEN '출고미정'
ELSE '출고대기'
END 출고여부
FROM FOOD_ORDER
ORDER BY 1;
풀이 2
- DATEDIFF(날짜1, 날짜2) : 날짜1 - 날짜2 한 차이를 일수로 반환
SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE, '%Y-%m-%d') OUT_DATE,
CASE
WHEN DATEDIFF('2022-05-01', OUT_DATE) >= 0 THEN '출고완료'
WHEN DATEDIFF('2022-05-01', OUT_DATE) < 0 THEN '출고대기'
ELSE '출고미정'
END 출고여부
FROM FOOD_ORDER
ORDER BY 1;
SELECT DISTINCT CAR_ID
FROM CAR_RENTAL_COMPANY_CAR JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY USING (CAR_ID)
WHERE CAR_TYPE LIKE '세단' AND START_DATE LIKE '%-10-%'
ORDER BY 1 DESC;
ORDER BY TIMEDIFF(O.DATETIME, I.DATETIME) DESC가 안되는 이유SELECT I.ANIMAL_ID, I.NAME
FROM ANIMAL_INS I JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE O.ANIMAL_ID IS NOT NULL
-- ORDER BY (O.DATETIME - I.DATETIME) DESC -- 이것도 정답이 됨
ORDER BY TIMESTAMPDIFF(SECOND, I.DATETIME, O.DATETIME) DESC
LIMIT 2;