Code Kata/SQL 67

[프로그래머스] 문제 66. 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기

20240711 풀이SELECT CONCAT('/home/grep/src/', A.BOARD_ID, '/', B.FILE_ID, B.FILE_NAME, B.FILE_EXT) FILE_PATHFROM USED_GOODS_BOARD A JOIN USED_GOODS_FILE B ON A.BOARD_ID = B.BOARD_IDWHERE (VIEWS) IN (SELECT MAX(VIEWS) FROM USED_GOODS_BOARD)ORDER BY FILE_ID DESC20240909 풀이-- 조회수가 가장 높은 중고거래 게시물 첨부파일 경로 조회-- FILE ID 를 기준으로 내림차순-- 게시글 ID를 기준으로 디렉토리 구분SELECT *FROM USED_GOODS_BOARD;SEL..

Code Kata/SQL 2024.09.09

[프로그래머스] 문제 65. 우유와 요거트가 담긴 장바구니

20240710 풀이-- 코드를 입력하세요SELECT CART_IDFROM CART_PRODUCTSWHERE NAME IN ('MILK', 'YOGURT')GROUP BY CART_IDHAVING COUNT(DISTINCT NAME) >= 2ORDER BY CART_ID20240906 풀이-- 우유와 요거트를 동시에 구입한 장바구니-- 장바구니 아이디 순서SELECT *FROM CART_PRODUCTS;SELECT CART_IDFROM CART_PRODUCTSWHERE NAME IN ('Milk', 'Yogurt')GROUP BY CART_IDHAVING COUNT(DISTINCT NAME) >= 2ORDER BY CART_ID; https://school.programmers.co.kr/learn/co..

Code Kata/SQL 2024.09.06

[프로그래머스] 문제 64. 헤비 유저가 소유한 장소

20240710 풀이-- 코드를 입력하세요SELECT *FROM PLACESWHERE (HOST_ID) IN (SELECT HOST_ID FROM PLACES GROUP BY HOST_ID HAVING COUNT(HOST_ID) > 1)ORDER BY ID20240905 풀이-- 공간을 둘 이상 등록한 사람 = '헤비 유저'-- 헤비 유저가 등록한 공간의 정보를-- 아이디 순으로 조회SELECT *FROM PLACES;SELECT *FROM PLACESWHERE (HOST_ID) IN (SELECT HOST_IDFROM PLACESGROUP BY HOST_IDHAVING COU..

Code Kata/SQL 2024.09.05

[프로그래머스] 문제 63. 자동차 평균 대여 기간 구하기

20240711 풀이SELECT A.CAR_ID , A.AVERAGE_DURATIONFROM(SELECT CAR_ID , ROUND(AVG(DATEDIFF(END_DATE, START_DATE) +1), 1) AVERAGE_DURATIONFROM CAR_RENTAL_COMPANY_RENTAL_HISTORYGROUP BY CAR_ID ) AWHERE A.AVERAGE_DURATION >= 7ORDER BY 2 DESC , 1 DESC20240904 풀이-- 평균 대여 기간 7일 이상-- 자동차 ID, 평균 대여 기간 = AVERAGE_DURATION-- 평균 대여 기간은 소수점 두 번째 자리에서 반올림-- 평균 대여 기간을 기준으로 내림차순 정렬-- 평균 대여 기간이 같으면..

Code Kata/SQL 2024.09.04

[프로그래머스] 문제 62. 자동차 대여 기록에서 장기/단기 대여 구분하기

20240711 풀이-- 코드를 입력하세요SELECT A.HISTORY_ID , A.CAR_ID , A.START_DATE , A.END_DATE , CASE WHEN DATEDIFF(A.END_DATE, A.START_DATE) + 1 >= 30 THEN '장기 대여' ELSE '단기 대여' END RENT_TYPEFROM (SELECT HISTORY_ID , CAR_ID , DATE_FORMAT(START_DATE, '%Y-%m-%d') START_DATE , DATE_FORMAT(END_DATE, '%Y-%m-%d') END_DATEFROM CAR_RENTAL_COMPANY_RENTAL_HISTORYWHERE YEAR(START_DATE)..

Code Kata/SQL 2024.09.03

[프로그래머스] 문제 61. 자동차 대여 기록

20240711 풀이 -- 코드를 입력하세요SELECT A.REST_ID , A.REST_NAME , A.FOOD_TYPE , A.FAVORITES , A.ADDRESS , ROUND(AVG(B.REVIEW_SCORE), 2) SCOREFROM REST_INFO A JOIN REST_REVIEW B ON A.REST_ID = B.REST_IDWHERE ADDRESS LIKE '서울%'GROUP BY REST_IDORDER BY 6 DESC , 4 DESC20240902 풀이-- 서울에 위치한-- 식당 ID, 식당 이름, 음식 종류, 즐겨찾기 수, 주소, 리뷰 평균 점수-- 리뷰 평균 점수는 소수점 3번째에서 반올림-- 평균 점수를 기준으로 내림차순-- 평균..

Code Kata/SQL 2024.09.02

[프로그래머스] 문제 60. 년, 월, 성별 별 상품 구매 회원 수 구하기

20240628 풀이SELECT DATE_FORMAT(O.SALES_DATE, '%Y') YEAR , DATE_FORMAT(O.SALES_DATE, '%m') MONTH , GENDER , COUNT(DISTINCT U.USER_ID) USERSFROM USER_INFO U INNER JOIN ONLINE_SALE O ON U.USER_ID = O.USER_IDWHERE GENDER IS NOT NULLGROUP BY 1, 2, 3ORDER BY 1, 220240831 풀이-- 년, 월, 성별 별로 상품을 구매한 회원수-- 년, 월, 성별 기준 오름차순-- 성별 정보가 없으면 결과 제외SELECT *FROM USER_INFO;SELECT *FROM ONLINE_SALE;SEL..

Code Kata/SQL 2024.08.31

[프로그래머스] 문제 59. 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기

20240711 풀이-- 코드를 입력하세요SELECT CAR_ID , MAX (CASE WHEN '2022-10-16' BETWEEN START_DATE AND END_DATE THEN '대여중' ELSE '대여 가능' END) AVAILABILITYFROM CAR_RENTAL_COMPANY_RENTAL_HISTORYGROUP BY CAR_IDORDER BY 1 DESC20240831 풀이-- 2022년 10월 16일 대여중인 자동차 = 대여중-- 아니면 대여가능 컬럼명은 AVAILBILITY-- 자동차 ID, AVAILBILITY-- 반납 날짜가 2022년 10월 16일이면 대여중-- 자동차 ID를 기준으로 내림차순SELECT *FROM CAR_RENTAL_COMPANY_RENTAL_HI..

Code Kata/SQL 2024.08.31

[프로그래머스] 문제 58. 취소되지 않은 진료 예약 조회하기

20240705 풀이-- 코드를 입력하세요SELECT B.APNT_NO , D.PT_NAME , D.PT_NO , A.MCDP_CD , A.DR_NAME , B.APNT_YMDFROM DOCTOR A JOIN APPOINTMENT B ON A.DR_ID = B.MDDR_ID JOIN PATIENT D ON B.PT_NO = D.PT_NOWHERE B.APNT_YMD LIKE '2022-04-13%' AND B.APNT_CNCL_YMD IS NULL AND A.MCDP_CD = 'CS'ORDER BY 6-- 예약일 2022-04-13-- 취소되지 않은 cs-- 진료예약번호, 환자이름, 환자번호, 진표과코드, 의사이름, 진료예약일시-- 진료예약일시 기준 오름차순..

Code Kata/SQL 2024.08.31

[프로그래머스] 문제 57. 조건에 부합하는 중고거래 상태 조회하기

20240704 풀이-- 코드를 입력하세요SELECT BOARD_ID , WRITER_ID , TITLE , PRICE , CASE WHEN STATUS = 'SALE' THEN '판매중' WHEN STATUS = 'RESERVED' THEN '예약중' ELSE '거래완료' END STATUSFROM USED_GOODS_BOARDWHERE CREATED_DATE LIKE '2022-10-05%'ORDER BY BOARD_ID DESC20240822 풀이-- 2022년 10월 5일 등록-- 게시글 ID, 작성자 ID, 게시글 제목, 가격, 거래상태-- 거래상태가 SALE 이면 판매중 RESERVED 이면 예약중 DONE 이면 거래완료-- ..

Code Kata/SQL 2024.08.22

[프로그래머스] 문제 56. 특정 옵션이 포함된 자동차 리스트 구하기

20240704 풀이-- 코드를 입력하세요SELECT *FROM CAR_RENTAL_COMPANY_CARWHERE OPTIONS LIKE '%네비게이션%'ORDER BY CAR_ID DESC20240822 풀이-- 네비게이션 옵션-- 자동차 ID 기준으로 내림차순SELECT *FROM CAR_RENTAL_COMPANY_CAR;SELECT *FROM CAR_RENTAL_COMPANY_CARWHERE OPTIONS LIKE '%네비게이션%'ORDER BY CAR_ID DESC; https://school.programmers.co.kr/learn/courses/30/lessons/157343 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와..

Code Kata/SQL 2024.08.22

[프로그래머스] 문제 55. 조건에 맞는 사용자 정보 조회하기

20240704 풀이-- 코드를 입력하세요SELECT B.USER_ID , B.NICKNAME , CONCAT(B.CITY, ' ', B.STREET_ADDRESS1, ' ', B.STREET_ADDRESS2) '전체주소' , CONCAT(SUBSTR(B.TLNO, 1, 3), '-', SUBSTR(B.TLNO, 4, 4), '-', SUBSTR(B.TLNO, 8, 4)) '전화번호'FROM USED_GOODS_BOARD A JOIN USED_GOODS_USER B ON A.WRITER_ID = B.USER_IDGROUP BY B.USER_IDHAVING COUNT(A.WRITER_ID) >= 3ORDER BY 1 DESC20240820 풀이-- 중고 거래 게시물 3건 이상 등록-..

Code Kata/SQL 2024.08.20

[프로그래머스] 문제 54. 최댓값 구하기

20240704 풀이-- 코드를 입력하세요SELECT MAX(DATETIME)FROM ANIMAL_INS20240820 풀이-- 가장 최근에 들어온 동물-- 들어온 날짜 조회SELECT MAX(DATETIME) AS '시간'FROM ANIMAL_INS; https://school.programmers.co.kr/learn/courses/30/lessons/59415 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr

Code Kata/SQL 2024.08.20

[프로그래머스] 문제 53. 재구매가 일어난 상품과 회원 리스트 구하기

20240709 풀이-- 코드를 입력하세요SELECT USER_ID , PRODUCT_IDFROM ONLINE_SALEGROUP BY USER_ID , PRODUCT_IDHAVING COUNT(*) > 1ORDER BY 1, 2 DESC20240820 풀이-- 동일한 회원이 동일한 상품 재구매-- 재구매한 회원 ID, 상풍 ID 출력-- 회원 ID 기준으로 오름차순-- 회원 ID 같으면 상품 ID 기준으로 내림차순SELECT USER_ID , PRODUCT_IDFROM ONLINE_SALEGROUP BY USER_ID , PRODUCT_IDHAVING COUNT(*) > 1ORDER BY USER_ID , PRODUCT_ID DESC; https://scho..

Code Kata/SQL 2024.08.20

[프로그래머스] 문제 52. 과일로 만든 아이스크림 고르기

20240704 풀이-- 코드를 입력하세요SELECT A.FLAVORFROM FIRST_HALF A JOIN ICECREAM_INFO B ON A.FLAVOR = B.FLAVORWHERE B.INGREDIENT_TYPE = 'FRUIT_BASED' AND A.TOTAL_ORDER >= 300020240820 풀이-- 총 주문량이 3000이상-- 주 성분이 과일-- 총 주문량이 큰 순서SELECT *FROM FIRST_HALF;SELECT *FROM ICECREAM_INFO;SELECT A.FLAVORFROM FIRST_HALF A JOIN ICECREAM_INFO B ON A.FLAVOR = B.FLAVORWHERE B.INGREDIENT_TYPE IN ('fruit_based') AND A.TO..

Code Kata/SQL 2024.08.20