본문 바로가기

SQL

(94)
[프로그래머스/Lv.4] 5월 식품들의 총매출 조회하기 - MySQL 📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 제출한 오답 처음 제출한 답안은 빼먹은 것이 2가지 있었다. 첫 번째는 5월인 식품의 총매출이므로 AMOUNT앞에 SUM() 함수를 이용해 합쳐야 한다는 것이고, 두 번째는 식품 ID 기준으로 GROUP BY를 해야한다는 것이다. SELECT PRODUCT_ID, PRODUCT_NAME, (PRICE * AMOUNT) AS TOTAL_SALES FROM FOOD_PRODUCT JOIN FOOD_ORDER USING(PRODUCT_ID) WHERE PRODUCE_DATE LIKE '2022-05%'..
[프로그래머스/Lv.2] 잡은 물고기 중 가장 큰 물고기의 길이 구하기 - MySQL 📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 CONCAT() 함수를 사용해 가장 큰 물고기 길이에 'cm'를 붙여 출력하였다. SELECT CONCAT(MAX(LENGTH), 'cm') AS MAX_LENGTH FROM FISH_INFO 📌 기억할 것 CONCAT() 함수를 이용해 문자를 붙일 수 있다. SELECT CONCAT(str1, str2, str3,...)
[프로그래머스/Lv.1] 과일로 만든 아이스크림 고르기 - MySQL 📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 두 테이블을 INNER JOIN 한 후 WHERE절에 조건을 적어주었다. 또한 총주문량이 큰 순서대로 조회해야 하므로 DESC 키워드를 이용해 내림차순 정렬을 해주었다. SELECT FLAVOR FROM FIRST_HALF JOIN ICECREAM_INFO USING(FLAVOR) WHERE TOTAL_ORDER > 3000 AND INGREDIENT_TYPE = 'fruit_based' ORDER BY TOTAL_ORDER DESC
[프로그래머스/Lv.1] 모든 레코드 조회하기 - MySQL 📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 전체를 조회한 후 ID를 기준으로 오름차순 정렬만 하면 되는 아주 간단한 문제였다. SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID
[프로그래머스/Lv.2] 3월에 태어난 여성 회원 목록 출력하기 - MySQL 📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 DATE_FORMAT과 MONTH 함수는 이전 문제에서 나온 적이 있어 무난하게 풀었다. 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) = 03 AND TLNO IS NOT NULL AND GENDER = 'W' ORDER BY MEMBER_ID;
[프로그래머스/Lv.4] 식품분류별 가장 비싼 식품의 정보 조회하기 - MySQL 📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 제출한 오답 찾아보니 이 오답을 제출한 사람들이 많았다. 처음에는 '이게 왜 안되지?' 했는데, CATEGORY별로 묶인 ROW에서 PRODUCT_NAME이 다를 수 있기 때문에 CATEGORY와 PRODUCT_NAME이 매칭되지 않는 문제가 발생한다. SELECT CATEGORY, MAX(PRICE) AS MAX_PRICE, PRODUCT_NAME FROM FOOD_PRODUCT GROUP BY CATEGORY HAVING CATEGORY IN ('과자', '국', '김치', '식용유') ORD..
[프로그래머스/Lv.1] 평균 일일 대여 요금 구하기 - MySQL 📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 제출한 오답 반올림을 하지 않아서 틀렸다. ROUND 함수를 이용해 반올림을 하도록 수정해 정답 처리 되었다. SELECT AVG(DAILY_FEE) AS AVERAGE_FEE FROM CAR_RENTAL_COMPANY_CAR WHERE CAR_TYPE = 'SUV' 📌 정답 SELECT ROUND(AVG(DAILY_FEE)) AS AVERAGE_FEE FROM CAR_RENTAL_COMPANY_CAR WHERE CAR_TYPE = 'SUV'
[프로그래머스/Lv.2] 가격대 별 상품 개수 구하기 - MySQL 📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 전혀 모르겠어서 답을 보고 풀었다. TRUNCATE는 처음 사용해봤는데 숫자를 지정한 자릿수 아래로 버릴 수 있는 함수였다. SELECT TRUNCATE(PRICE, -4) AS PRICE_GROUP, COUNT(*) AS PRODUCTS FROM PRODUCT GROUP BY PRICE_GROUP ORDER BY PRICE_GROUP 📌 기억할 것 TRUNCATE(숫자, 버릴 자릿수) SELECT TRUNCATE(1592.15929, 1) FROM PRODUCT; # 1592.1 SELEC..