
7. 자동차 대여 기록에서 장기/단기 대여 구분하기 (LV 1)
8. 조건에 맞는 사용자 정보 조회하기 (LV 3)
9. 조건에 부합하는 중고거래 상태 조회하기 (LV 2)
10. 취소되지 않은 진료 예약 조회하기 (LV 4)
11. 루시와 엘라 찾기 (LV 2)
12. 이름에 el이 들어가는 동물 찾기 (LV 2)
정답:
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
, CASE WHEN DATEDIFF(END_DATE, START_DATE) + 1 >= 30 THEN '장기 대여'
ELSE '단기 대여' END 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
정답:
WITH MORE_THAN_3POST AS(
SELECT u.USER_ID
, COUNT(b.WRITER_ID) AS CNT_POST
FROM USED_GOODS_BOARD AS b
JOIN USED_GOODS_USER AS u ON b.WRITER_ID = u.USER_ID
GROUP
BY u.USER_ID
HAVING CNT_POST >= 3
)
SELECT USER_ID
, NICKNAME
, CONCAT(CITY, ' ', STREET_ADDRESS1, ' ', STREET_ADDRESS2) AS '전체주소'
, CONCAT(SUBSTRING(TLNO, 1, 3), '-', SUBSTRING(TLNO, 4, 4), '-', SUBSTRING(TLNO, 8)) AS '전화번호'
FROM USED_GOODS_USER
WHERE USER_ID IN (SELECT USER_ID
FROM MORE_THAN_3POST)
ORDER
BY USER_ID DESC
전화번호 사이에 '-' 넣는 방법이 저것밖에 없으려나.. 🧐
정답:
SELECT BOARD_ID
, WRITER_ID
, TITLE
, PRICE
, CASE WHEN STATUS = 'SALE' THEN '판매중'
WHEN STATUS = 'RESERVED' THEN '예약중'
WHEN STATUS = 'DONE' THEN '거래완료'
END AS STATUS
FROM USED_GOODS_BOARD
WHERE CREATED_DATE = '2022-10-05'
ORDER
BY BOARD_ID DESC
정답:
SELECT a.APNT_NO
, p.PT_NAME
, p.PT_NO
, a.MCDP_CD
, d.DR_NAME
, a.APNT_YMD
FROM APPOINTMENT AS a
LEFT
JOIN PATIENT AS p ON a.PT_NO = p.PT_NO
JOIN DOCTOR AS d ON a.MDDR_ID = d.DR_ID
WHERE a.APNT_YMD BETWEEN '2022-04-13 00:00:00' AND '2022-04-13 23:59:59'
AND a.MCDP_CD = 'CS'
AND a.APNT_CNCL_YN = 'N'
ORDER
BY a.APNT_YMD
정답:
SELECT ANIMAL_ID
, NAME
, SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty')
ORDER
BY ANIMAL_ID
정답:
SELECT ANIMAL_ID
, NAME
FROM ANIMAL_INS
WHERE ANIMAL_TYPE = 'Dog'
AND (NAME LIKE '%El%' OR NAME LIKE '%el%')
ORDER
BY NAME