출처 : 프로그래머스 코딩테스트 연습,https://school.programmers.co.kr/learn/courses/30/lessons/157340 SELECT CAR_ID, MAX(CASE WHEN "2022-10-16" BETWEEN DATE_FORMAT(START_DATE,"%Y-%m-%d") AND DATE_FORMAT(END_DATE,"%Y-%m-%d") THEN "대여중" ELSE "대여 가능" END) AVAILABILITY FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY GROUP BY CAR_ID ORDER BY CAR_ID DESC 아이디어 1 : 조건에 따라서 표시할 데이터를 정하고 싶다면 CASE~WHEN 구문을 사용해라 아이디어 2 : 특정 날짜 데이터가..
출처 : 프로그래머스 코딩테스트 연습,https://school.programmers.co.kr/learn/courses/30/lessons/164670 SELECT UGU.USER_ID, UGU.NICKNAME , CONCAT(UGU.CITY,' ',UGU.STREET_ADDRESS1,' ',UGU.STREET_ADDRESS2) "전체주소", CONCAT(substring(UGU.TLNO,1,3),'-', substring(UGU.TLNO,4,4),'-' ,substring(UGU.TLNO,8,4))"전화번호" FROM USED_GOODS_USER UGU JOIN USED_GOODS_BOARD UGB ON UGU.USER_ID = UGB.WRITER_ID GROUP BY UGU.USER_ID , UGU..
출처 : 프로그래머스 코딩테스트 연습,https://school.programmers.co.kr/learn/courses/30/lessons/164671 SELECT CONCAT('/home/grep/src/',UGB.BOARD_ID,'/',FILE_ID,FILE_NAME,FILE_EXT) AS FILE_PATH FROM USED_GOODS_BOARD UGB JOIN USED_GOODS_FILE UDF ON UGB.BOARD_ID = UDF.BOARD_ID WHERE UGB.VIEWS = (SELECT MAX(VIEWS) FROM USED_GOODS_BOARD) ORDER BY FILE_ID DESC 1. CONCAT : 컬럼의 데이터들을 하나의 문자열로 만들고 싶을때 사용한다. 2. 특정 컬럼의 값이 ..
출처 : 프로그래머스 코딩테스트 연습,https://school.programmers.co.kr/learn/courses/30/lessons/144856 SELECT A.AUTHOR_ID , B.AUTHOR_NAME ,A.CATEGORY , SUM(A.PRICE*C.SALES) AS TOTAL_SALES FROM BOOK A #SELECT * , A.PRICE* SUM(C.SALES) AS TOTAL_SALES FROM BOOK A JOIN AUTHOR B ON A.AUTHOR_ID = B.AUTHOR_ID JOIN BOOK_SALES C ON A.BOOK_ID = C.BOOK_ID WHERE C.SALES_DATE LIKE "%2022-01%" GROUP BY A.AUTHOR_ID , A.CATEGOR..
출처 : 프로그래머스 코딩테스트 연습,https://school.programmers.co.kr/learn/courses/30/lessons/151138 아이디어 1 : 날짜간의 차이는 DATEDIFF로 구한다! 아이디어 2 : 컬럼의 값을 조건에 따라 분기하고 싶으면 CASE ~ WHEN 구문을 사용한다! 아이디어 3 : 2022년 9월 기록,HISTORY_ID 기준으로 내림차순 정렬을 잊지 않는다! [정답 코드] 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)..