프로그래머스 74

[Lv.1 / 프로그래머스 / SQL] 경기도에 위치한 식품창고 목록 출력하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 특정 컬럼의 데이터가 NULL일 경우 다른 문자열로 대체해서 표기해주는 IFNULL 함수를 사용하여 해결이 가능하다. SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN, "N") AS FREEZER_YN FROM FOOD_WAREHOUSE WHERE WAREHOUSE_NAME like "%경기%" ORDER BY WAREHOUSE_ID

[Lv.2 / 프로그래머스 / SQL] 재구매가 일어난 상품과 회원 리스트 구하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 재구매가 일어난 상품 리스트를 조회해야 한다. USER_ID와 PRODUCT_ID를 기준으로 묶어, PRODUCT_ID의 개수가 2 이상인 것을 조회하면 재구매라고 판별할 수 있다. SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID HAVING COUNT(PRODUCT_ID) > 1 ORDER BY USER_ID ASC, PRODUCT_ID DESC

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

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 2022년 9월에 대여한 자동차를 대여 기간에 따라 단기/장기 여부를 함께 조회해야 한다. START_DATE와 END_DATE 컬럼의 경우 포맷을 예시 출력과 동일하게 해야 함에 주의해야 한다. 여기서, 9월1일에 빌려서 9월1일에 반납한 것도 하루로 쳐야 하므로 DATEDIFF 함수의 결과값에 1을 더하여 계산해야 SELECT HISTORY_ID, CAR_ID, DATE_FORMAT(START_DATE, "%Y-%m-%d") AS START_DATE, DATE_FORMAT(END_DAT..

[Lv.3 / 프로그래머스 / SQL] 오랜 기간 보호한 동물 (2)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 입양을 간 동물 중, 가장 오랜 기간 보호되었던 동물 두 마리를 조회해야 한다. Inner Join을 통해 두 테이블 모두에 존재하는 동물 데이터를 가져온 뒤, 보호소에 들어온 시점과 입양을 간 시점의 차이를 구해 그 차가 큰 순으로 내림차순 정리하면 된다. SELECT INS.ANIMAL_ID, INS.NAME FROM ANIMAL_INS AS INS INNER JOIN ANIMAL_OUTS AS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID ORDER BY OUT..

[Lv.1 / 프로그래머스 / SQL] 12세 이하인 여자 환자 목록 출력하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 12세 이하인 여자 환자 목록을 출력하되, 전화번호가 NULL인 경우 NONE으로 출력해야 한다. IFNULL을 사용하여 NULL값에 대한 처리를 할 수 있다. SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO,"NONE") AS TLNO FROM PATIENT WHERE AGE

[Lv.2 / 프로그래머스 / SQL] 조건에 부합하는 중고거래 상태 조회하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 2022년 10월 5일에 등록된 데이터를 상태에 따라 알맞게 변환한 형태로 조회해야 한다. IF문을 사용할 수도 있지만, 가독성을 위해 CASE문을 사용했다. SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, CASE STATUS WHEN "DONE" THEN "거래완료" WHEN "SALE" THEN "판매중" ELSE "예약중" END AS STATUS FROM USED_GOODS_BOARD WHERE CREATED_DATE = '2022-10-05' ORDER..

[Lv.1 / 프로그래머스 / SQL] 조건에 맞는 회원수 구하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 2021년에 가입한 나이가 20살 이상, 29세 이하인 회원의 수를 조회해야 한다. SELECT COUNT(USER_ID) AS USERS FROM USER_INFO WHERE YEAR(JOINED) = 2021 AND AGE >= 20 AND AGE < 30

[Lv.2 / 프로그래머스 / SQL] 3월에 태어난 여성 회원 목록 출력하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 전화번호가 NULL이 아니면서 3월에 태어난 여성 회원의 데이터를 조회해야 한다. 단, DATE_OF_BIRTH의 포맷을 예시 출력과 일치하게끔 해야 한다. SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH, "%Y-%m-%d") AS DATE_OF_BIRTH FROM MEMBER_PROFILE WHERE MONTH(DATE_OF_BIRTH) = 3 AND TLNO IS NOT NULL AND GENDER = "W" ORDE..

[Lv.1 / 프로그래머스 / SQL] 조건에 맞는 도서 리스트 출력하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) PUBLISHED_DATE의 연도가 2021이면서 CATEGORY가 '인문'인 데이터를 조회해야 한다. PUBLISHED_DATE의 출력 형식을 맞추기 위해 DATE_FORMAT을 사용해야 한다. SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE FROM BOOK WHERE YEAR(PUBLISHED_DATE) = 2021 AND CATEGORY = '인문' ORDER BY PUBLISHED_DATE

[Lv.1 / 프로그래머스 / SQL] 조건에 부합하는 중고거래 댓글 조회하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) Lv.1 로 표기되어 있지만 사실 Lv.2나 Lv.3 언저리쯤이라고 생각된다. 난이도 책정이 잘못된 게 아닌가 싶다. 두 테이블을 조인하여 알맞은 컬럼을 SELECT해야 한다. 이 때, 댓글의 CREATED_DATE가 2022년10월인 것을 조회해야 하며, 데이터 형식도 yyyy-mm-dd 꼴이어야 한다. 두 테이블에서 이름이 겹치는 것들이 있는데, 혼동하여 SELECT하지 않도록 주의해야 한다. 맞게 작성한 것 같은데 혹여나 틀린다면, REPLY에서 가져와야 할 것은 BOARD에서 가져오..

반응형