본문 바로가기
728x90

SQL70

[MySQL] 프로그래머스 String, Date 10 자동차 대여 기록에서 장기/단기 대여 구분하기 문제 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(컬럼명: RENT_TYPE)을 추가하여 대여기록을 출력하는 SQL문을 작성해주세요. 결과는 대여 기록 ID를 기준으로 내림차순 정렬해주세요. 풀이 SELECT HISTORY_ID , CAR_ID , DATE_FORMAT(START_DATE, '%Y-%m-%d') START_DATE , DATE_FORMAT(END_DATE, '%Y-%m-%d') END_DATE , CASE WHEN DATEDIFF(END_DATE, START_DATE) +1 >= 30 THEN '장기 대여' ELSE.. 2023. 10. 2.
[MySQL] 프로그래머스 String, Date 08 특정 옵션이 포함된 자동차 리스트 구하기 문제 CAR_RENTAL_COMPANY_CAR 테이블에서 '네비게이션' 옵션이 포함된 자동차 리스트를 출력하는 SQL문을 작성해주세요. 결과는 자동차 ID를 기준으로 내림차순 정렬해주세요. 풀이 SELECT * FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS LIKE '%네비게이션%' ORDER BY CAR_ID DESC 문자열 부분 일치 특정 문자 포함 → 칼럼명 LIKE '%특정문자%' 2023. 10. 2.
[MySQL] 프로그래머스 String, Date 06 대여 기록이 존재하는 자동차 리스트 구하기 문제 CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 자동차 종류가 '세단'인 자동차들 중 10월에 대여를 시작한 기록이 있는 자동차 ID 리스트를 출력하는 SQL문을 작성해주세요. 자동차 ID 리스트는 중복이 없어야 하며, 자동차 ID를 기준으로 내림차순 정렬해주세요. 풀이 SELECT DISTINCT C.CAR_ID FROM CAR_RENTAL_COMPANY_CAR C INNER JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY H ON C.CAR_ID = H.CAR_ID WHERE C.CAR_TYPE = '세단' AND DATE_FORMAT(H.START_DATE, '%Y-%m') = '2022-10' OR.. 2023. 10. 2.
[MySQL] 프로그래머스 String, Date 05 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 문제 USED_GOODS_BOARD와 USED_GOODS_FILE 테이블에서 조회수가 가장 높은 중고거래 게시물에 대한 첨부파일 경로를 조회하는 SQL문을 작성해주세요. 첨부파일 경로는 FILE ID를 기준으로 내림차순 정렬해주세요. 기본적인 파일경로는 /home/grep/src/ 이며, 게시글 ID를 기준으로 디렉토리가 구분되고, 파일이름은 파일 ID, 파일 이름, 파일 확장자로 구성되도록 출력해주세요. 조회수가 가장 높은 게시물은 하나만 존재합니다. 풀이 SELECT CONCAT('/home/grep/src/' , F.BOARD_ID , '/' , F.FILE_ID , F.FILE_NAME , F.FILE_EXT) AS FILE_PATH FROM USED_GOODS_BOARD B INNER JOIN .. 2023. 10. 2.
[MySQL] 프로그래머스 String, Date 04 조건별로 분류하여 주문상태 출력하기 문제 FOOD_ORDER 테이블에서 5월 1일을 기준으로 주문 ID, 제품 ID, 출고일자, 출고여부를 조회하는 SQL문을 작성해주세요. 출고여부는 5월 1일까지 출고완료로 이 후 날짜는 출고 대기로 미정이면 출고미정으로 출력해주시고, 결과는 주문 ID를 기준으로 오름차순 정렬해주세요. 풀이 SELECT ORDER_ID , PRODUCT_ID , DATE_FORMAT(OUT_DATE, '%Y-%m-%d') OUT_DATE , CASE WHEN DATE_FORMAT(OUT_DATE, '%Y-%m-%d') '2022-05-01' THEN '출고대기' WHEN DATE_FORMAT(OUT_DATE, '%Y-%m-%d') IS NULL THEN '출고미정' END '출고여부' FROM FOOD_ORDER ORD.. 2023. 10. 2.
[MySQL] 프로그래머스 String, Date 03 취소되지 않은 진료 예약 조회하기 문제 PATIENT, DOCTOR 그리고 APPOINTMENT 테이블에서 2022년 4월 13일 취소되지 않은 흉부외과(CS) 진료 예약 내역을 조회하는 SQL문을 작성해주세요. 진료예약번호, 환자이름, 환자번호, 진료과코드, 의사이름, 진료예약일시 항목이 출력되도록 작성해주세요. 결과는 진료예약일시를 기준으로 오름차순 정렬해주세요. 풀이 SELECT A.APNT_NO , P.PT_NAME , A.PT_NO , A.MCDP_CD , D.DR_NAME , A.APNT_YMD FROM APPOINTMENT A INNER JOIN PATIENT P ON A.PT_NO = P.PT_NO INNER JOIN DOCTOR D ON A.MDDR_ID = D.DR_ID WHERE DATE_FORMAT(A.APNT_YM.. 2023. 10. 2.
728x90