String 9

[Lv.2 / 프로그래머스 / SQL] 분기별 분화된 대장균의 개체 수 구하기

프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   풀이 분기별 대장균 개체의 수를 구해야 한다. CASE문과 집계 함수인 COUNT를 이용해 조건별로 분기별 대장균 개체의 수를 구할 수 있다.  SELECT CASE WHEN MONTH(DIFFERENTIATION_DATE)

[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.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.3 / 프로그래머스 / SQL] 조건에 맞는 사용자 정보 조회하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) USED_GOODS_BOARD 테이블을 WRITER_ID를 기준으로 그룹별로 묶었을 때, 3개 이상 존재하는 사용자 아이디를 조회해야 한다. 해당 조건은 JOIN을 통해 해결한 뒤, 전체 주소와 전화번호를 CONCAT 및 SUBSTRING으로 문제 조건에 맞도록 출력하면 된다. SELECT USER_ID, NICKNAME, CONCAT(CITY," ", STREET_ADDRESS1, " ", STREET_ADDRESS2) AS 전체주소, CONCAT(SUBSTRING(TLNO,1,3), "..

[Lv.2 / 프로그래머스 / SQL] DATETIME에서 DATE로 형 변환

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) DATETIME을 DATE형태로 변환하여 출력해야 한다. DATE() 함수를 사용할 경우 값은 DATE 형으로 바뀌나, 출력 형태에 시간이 남아있기 때문에 DATE_FORMAT을 사용해야 한다. SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, "%Y-%m-%d") AS 날짜 FROM ANIMAL_INS ORDER BY ANIMAL_ID

[Lv.2 / 프로그래머스 / SQL] 중성화 여부 파악하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) SEX_UPON_INTAKE 컬럼에 Neutered, 혹은 Spayed의 포함 여부를 O, X로 표기하는 컬럼을 추가하여 조회해야 한다. CASE, 혹은 IF문을 활용하여 해결할 수 있다. IF SELECT ANIMAL_ID, NAME, IF (SEX_UPON_INTAKE LIKE "%Neutered%" OR SEX_UPON_INTAKE LIKE "%Spayed%", "O", "X") AS "중성화" FROM ANIMAL_INS ORDER BY ANIMAL_ID CASE SELECT ANI..

[Lv.2 / 프로그래머스 / SQL] 루시와 엘라 찾기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty 중 하나일 경우를 조회해야 한다. 이렇게 여러 개의 스트링에 속하는지 여부를 판별할 때에는 IN 을 사용하면 편하게 구현할 수 있다. SELECT ANIMAL_ID , NAME , SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN ("Lucy", "Ella", "Pickle", "Rogan", "Sabrina", "Mitty") ORDER BY ANIMAL_ID

[Lv.1 / 프로그래머스 / SQL] 특정 옵션이 포함된 자동차 리스트 구하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) LIKE를 통해 OPTIONS 안의 문자열에 '네비게이션'이 포함되어 있는지 검사한다. 이후 ORDER BY 로 정렬하되, DESC를 이용하여 내림차순으로 정렬한다. SELECT CAR_ID , CAR_TYPE , DAILY_FEE , OPTIONS FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS LIKE "%네비게이션%" ORDER BY CAR_ID DESC

반응형