전체 글
[후기] 넥스터즈(NEXTERS) | 24기 활동을 마무리하며
IT 동아리 넥스터즈 무작정 프로젝트가 하고 싶은 마음에 여기저기 IT 동아리를 기웃거리다 운명처럼 만나게 된 넥스터즈. 서류와 면접 과정을 거쳐 23기 백엔드 개발자로 선발되었을 때, 그렇게 기쁠 수가 없었다. 그리하야 여름에는 23기 활동을, 이번 겨울에는 24기 활동을 하며 즐겁게 프로젝트를 개발할 수 있었다. (비록 내 수면을 갈아 넣었지만...😴) 캐릭터별 성장기록 서비스, 어나더미🐣 오늘은 24기 활동을 하며 개발한 프로젝트를 소개해볼까 한다! 어나더미는 내 안의 다양한 나를 캐릭터로 만들어 꾸준한 기록으로 성장시키는 아주 귀여운 서비스다. 우리는 하루에도 다양한 역할을 맡고 다양한 페르소나를 가지고 있다. 직장인, 친구, 딸/아들, 다이어터 등등... 하지만 일상 속에서 여러 가지 역할을 다..
[MySQL/프로그래머스] 식품분류별 가장 비싼 식품의 정보 조회하기
문제 풀이 (1) 문제 분석하기 식품분류별 가격이 제일 비싼 식품의 정보 ⇒ GROUP BY를 이용하여 식품분류별로 묶고, MAX(PRICE)로 제일 비싼 식품 조회 식품분류가 '과자', '국', '김치', '식용유'인 경우만 출력 ⇒ HAVING 식품분류 IN ('과자', '국', '김치', '식용유') 식품 가격을 기준으로 내림차순 정렬 ⇒ ORDER BY 식품 가격 DESC (2) 쿼리 구현하기 🔸 첫 번째 시도 SELECT CATEGORY, MAX(PRICE) AS 'MAX_PRICE', PRODUCT_NAME FROM FOOD_PRODUCT GROUP BY CATEGORY HAVING CATEGORY IN ('과자', '국', '김치', '식용유') ORDER BY MAX_PRICE DESC 결..
[MySQL/프로그래머스] 보호소에서 중성화한 동물
문제 풀이 (1) 문제 분석하기 보호소에서 중성화 수술을 거친 동물 ⇒ JOIN을 이용 첫 번째 풀이 : 보호소 들어오기 전 성별 및 중성화 여부는 'Instact' 이고(AND), 입양 간 후 성별 및 중성화 여부는 'Spayed' 이거나(OR), 'Nectuered'인 동물 두 번째 풀이 : 보호소에 들어오기 전과 입양을 간 후의 중성화 여부가 달라진(들어오기 전 != 나간 후) 동물 아이디 기준 정렬 ⇒ ORDER BY 동물 아이디 (2) 쿼리 구현하기 🔸 첫 번째 풀이 SELECT I.ANIMAL_ID, I.ANIMAL_TYPE, I.NAME FROM ANIMAL_INS I JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE I.SEX_UPON_INTA..
[MySQL/프로그래머스] 자동차 대여 기록에서 장기/단기 대여 구분하기
문제 풀이 (1) 문제 분석하기 대여 시작일이 2022년 9월에 속하는 대여 기록 ⇒ WHERE 대여 시작일 LIKE '2022-09-%' 대여 기간 30일 이상이면 '장기 대여' 아니면 '단기 대여' (컬럼명 : RENT_TYPE) ⇒ CASE 문 이용하여 출력, 이때 대여 기간은 빌린 날 부터 1일 이므로 +1하여 계산 ⇒ AS 'RENT_TYPE 대여 기록 ID 기준으로 내림차순 정렬 ⇒ ORDER BY 대여 기록 ID DESC (2) 쿼리 구현하기 SELECT HISTORY_ID , CAR_ID , DATE_FORMAT(START_DATE, '%Y-%m-%d') AS 'START_DATE' , DATE_FORMAT(END_DATE, '%Y-%m-%d') AS 'END_DATE' , CASE WHE..
[MySQL/프로그래머스] 없어진 기록 찾기
문제 풀이 (1) 문제 분석하기 입양을 간 기록(ANIMAL_OUTS)은 있는데, 보호소에 들어온 기록(ANIMAL_INS)이 없다 ⇒ LEFT OUTER JOIN 동물의 ID를 기준으로 정렬 ⇒ ORDER BY 동물ID (2) 쿼리 구현하기 SELECT O.ANIMAL_ID, O.NAME FROM ANIMAL_OUTS AS O LEFT OUTER JOIN ANIMAL_INS AS I ON O.ANIMAL_ID = I.ANIMAL_ID WHERE I.ANIMAL_ID IS NULL ORDER BY O.ANIMAL_ID 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers...
[MySQL/프로그래머스] 조건에 부합하는 중고거래 상태 조회하기
문제 풀이 (1) 문제 분석하기 조건에 맞는 거래 상태 출력 ⇒ CASE 사용 2022년 10월 5일에 등록된 게시물 ⇒ WHERE 작성일 = '2022-10-05' 게시글 ID 기준 내림차순 정렬 ⇒ ORDER BY 게시글 ID DESC (2) 쿼리 구현하기 SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, CASE WHEN STATUS = 'SALE' THEN '판매중' WHEN STATUS = 'RESERVED' THEN '예약중' ELSE '거래완료' END AS 'STATUS' FROM USED_GOODS_BOARD WHERE CREATED_DATE = '2022-10-05' ORDER BY BOARD_ID DESC 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포..
[MySQL/프로그래머스] 재구매가 일어난 상품과 회원 리스트 구하기
문제 풀이 (1) 문제 분석하기 동일 회원의 동일 상품 ⇒ 회원과 상품에 GROUP BY 적용 후 HAVING으로 1개 이상 COUNT 회원 ID 기준 오름차순 정렬, 회원 ID가 같다면 상품 ID 기준 내림차순 정렬 ⇒ ORDER BY USER_ID ASC, PRODUCT_ID DESC (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 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 ..
[MySQL/프로그래머스] 가격대 별 상품 개수 구하기
문제 풀이 (1) 문제 분석하기 만원 단위의 가격대별로 집계, 각 구간의 최소 금액으로 표시 ⇒ TRUNCATE 이용해서 만원 단위로 바꿔주고, GROUP BY 적용 가격대 별 상품 개수 출력 ⇒ COUNT(PRODUCT_ID) 가격대 기준 오름차순 정렬 ⇒ ORDER BY 가격대 ASC TRUNCATE TRUNCATE(number, decimals) - number를 지정된 소수 자릿수 아래로 버림 소수 자릿수에 -4를 넣어 만원 단위로 변경 SELECT TRUNCATE(12345, -1) -- 12340 SELECT TRUNCATE(12345, -2) -- 12300 SELECT TRUNCATE(12345, -3) -- 12000 SELECT TRUNCATE(12345, -4) -- 10000 [My..