MySQL 42

[MySQL] 프로그래머스 - 취소되지 않은 진료 예약 조회하기(3개 테이블 JOIN)

https://school.programmers.co.kr/learn/courses/30/lessons/132204 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT A.APNT_NO, P.PT_NAME, P.PT_NO, A.MCDP_CD, D.DR_NAME, A.APNT_YMD FROM PATIENT P JOIN APPOINTMENT A ON P.PT_NO = A.PT_NO JOIN DOCTOR D ON A.MDDR_ID = D.DR_ID WHERE DATE_FORMAT(APNT_YMD, '%Y-%m-%d') = '2022-04-13' AND ..

DB 2023.02.14

[MySQL] 프로그래머스 - 자동차 평균 대여 기간 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/157342 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT CAR_ID, ROUND(AVG(DATEDIFF(END_DATE, START_DATE)+1), 1) AS AVERAGE_DURATION FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY GROUP BY CAR_ID HAVING AVERAGE_DURATION >= 7 ORDER BY AVERAGE_DURATION DESC, CAR_ID DESC DATEDIFF 함수..

DB 2023.02.13

[MySQL] 프로그래머스 - 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기(IF, 날짜 비교)

https://school.programmers.co.kr/learn/courses/30/lessons/157340 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT CAR_ID, IF(SUM(IF('2022-10-16' BETWEEN START_DATE AND END_DATE, 1, 0)) > 0, '대여중', '대여 가능') AS AVAILABILITY FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY GROUP BY 1 ORDER BY 1 DESC 자동차ID중에 제시된 날짜에 대여중인 자동차가 하나라도 있다면 대여중이라고..

DB 2023.02.10

[MySQL] 프로그래머스 - 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기(BETWEEN, GROUP BY)

https://school.programmers.co.kr/learn/courses/30/lessons/151139 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT MONTH(START_DATE) AS MONTH, CAR_ID, COUNT(*) AS RECORDS FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE CAR_ID IN ( SELECT CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE START_DATE BETWEEN '2022-08-01' AND '2022-1..

DB 2023.02.10

[MySQL] 프로그래머스 - 그룹별 조건에 맞는 식당 목록 출력하기(WHERE문 서브쿼리)

https://school.programmers.co.kr/learn/courses/30/lessons/131124 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT MEMBER_NAME, REVIEW_TEXT, DATE_FORMAT(REVIEW_DATE, '%Y-%m-%d') AS REVIEW_DATE FROM MEMBER_PROFILE M JOIN REST_REVIEW R ON M.MEMBER_ID = R.MEMBER_ID WHERE M.MEMBER_ID = ( SELECT MEMBER_ID FROM REST_REVIEW GROUP BY ME..

DB 2023.02.09

[MySQL] 프로그래머스 - 주문량이 많은 아이스크림들 조회하기(JOIN)

https://school.programmers.co.kr/learn/courses/30/lessons/133027 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT F.FLAVOR FROM FIRST_HALF F JOIN JULY J ON F.FLAVOR = J.FLAVOR GROUP BY F.FLAVOR ORDER BY SUM(F.TOTAL_ORDER + J.TOTAL_ORDER) DESC LIMIT 3 처음에 ON절에 아이디가 같은걸로 조건을 걸었는데 틀렸다. 문제를 자세히 읽어보면 맛이 같은 아이스크림에 대해서도 다른 출하 번호를 가질 수..

DB 2023.02.09

[MySQL] 프로그래머스 - 5월 식품들의 총매출 조회하기(GROUP BY, JOIN)

https://school.programmers.co.kr/learn/courses/30/lessons/131117 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT A.PRODUCT_ID, A.PRODUCT_NAME, SUM(A.PRICE * B.AMOUNT) AS TOTAL_SALES FROM FOOD_PRODUCT A JOIN FOOD_ORDER B ON A.PRODUCT_ID = B.PRODUCT_ID WHERE PRODUCE_DATE LIKE '2022-05%' GROUP BY PRODUCT_ID ORDER BY TOTAL_SALES D..

DB 2023.02.09

[MySQL] 프로그래머스 - 없어진 기록 찾기(LEFT OUTER JOIN)

https://school.programmers.co.kr/learn/courses/30/lessons/59042 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_OUTS OUTS LEFT OUTER JOIN ANIMAL_INS INS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID WHERE INS.ANIMAL_ID IS NULL ORDER BY ANIMAL_ID LEFT JOIN 은 두 테이블을 조인 할 때 왼쪽 테이블의 데이터인 ANIMAL_OUTS 의 데이터..

DB 2023.02.09

[MySQL] 프로그래머스 - 즐겨찾기가 가장 많은 식당 정보 출력하기(GROUP BY, IN)

https://school.programmers.co.kr/learn/courses/30/lessons/131123 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITES AS FAVORITES FROM REST_INFO WHERE (FOOD_TYPE, FAVORITES) IN (SELECT FOOD_TYPE, MAX(FAVORITES) FROM REST_INFO GROUP BY FOOD_TYPE) ORDER BY FOOD_TYPE DESC; IN절로 FOOD_TYPE 별로 즐겨..

DB 2023.02.08

[MySQL] 프로그래머스 - 조건별로 분류하여 주문상태 출력하기(날짜 조건)

https://school.programmers.co.kr/learn/courses/30/lessons/131113 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE,'%Y-%m-%d') AS OUT_DATE, IF(OUT_DATE

DB 2023.02.08