mysql

SQL 문제풀이

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

❓ Question ❗ Answer SELECT DISTINCT(car_id) CAR_ID , IF(car_id IN (SELECT car_id FROM car_rental_company_rental_history WHERE '2022-10-16' BETWEEN start_date and end_date), '대여중','대여 가능') AVAILABILITY FROM car_rental_company_rental_history ORDER BY CAR_ID DESC;📌 Discussion 하나의 car_id에 대해 여러 렌탈 기록이 존재하여 대여 가능 여부가 여러가지가 나온다. 대여 중인 car_id의 레코드를 sub-query로 불러와서 IF 절로 하나의 car_..

SQL 문제풀이

[프로그래머스 SQL] LV.4 년, 월, 성별 별 상품 구매 회원 수 구하기

❓ Question ❗ Answer SELECT YEAR(sale.sales_date) YEAR , MONTH(sale.sales_date) MONTH , info.gender GENDER , COUNT(DISTINCT(info.user_id)) USERS FROM user_info info INNER JOIN online_sale sale ON info.user_id = sale.user_id WHERE info.gender IS NOT NULL GROUP BY YEAR, MONTH, GENDER ORDER BY YEAR, MONTH, GENDER;📌 Discussion 동일한 회원이 여러 날에 거쳐서 구매한 경우에도 한 명의 회원으로 집계해야하므로 COUNT(DISTINCT)로 중복제거 후 집계

SQL 문제풀이

[프로그래머스 SQL] LV.4 서울에 위치한 식당 목록 출력하기

❓ Question ❗ Answer SELECT info.rest_id, info.rest_name, info.food_type, info.favorites, info.address, ROUND(AVG(review.review_score),2) score FROM rest_info info INNER JOIN rest_review review ON info.rest_id = review.rest_id WHERE info.address LIKE '서울%' GROUP BY rest_id ORDER BY score DESC, info.favorites DESC;📌 Discussion WHERE 문에서 join을 시키고 조건을 달아준 뒤 집계를 위해서 group by를 해주고, ROUND로 반올림..

SQL 문제풀이

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

❓ Question ❗ Answer SELECT board_id, writer_id, title, price, (CASE WHEN status = 'SALE' THEN '판매중' WHEN status = 'RESERVED' THEN '예약중' ELSE '거래완료' END) status FROM used_goods_board WHERE created_date = '2022-10-05' ORDER BY board_id DESC;📌 Discussion CASE WHEN THEN ELSE END 구문으로 조건별로 분류

SQL 문제풀이

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

❓ Question ❗ Answer SELECT * FROM car_rental_company_car WHERE options LIKE '%네비게이션%' ORDER BY car_id DESC;📌 Discussion LIKE으로 '네비게이션'이 options에 포함된 레코드 불러오기

SQL 문제풀이

[프로그래머스 SQL] LV.3 조건에 맞는 사용자 정보 조회하기

❓ Question ❗ Answer SELECT users.user_id USER_ID , users.nickname NICKNAME , CONCAT_WS(' ', users.CITY, users.street_address1, users.street_address2) 전체주소 , CONCAT_WS('-', LEFT(users.tlno,3), SUBSTRING(users.tlno,4,4), RIGHT(users.tlno,4)) 전화번호 FROM used_goods_board boards INNER JOIN used_goods_user users ON boards.writer_id = users.user_id GROUP BY USER_ID HAVING COUNT(USER_ID) ..

SQL 문제풀이

[프로그래머스 SQL] LV.1 최댓값 구하기

❓ Question ❗ Answer SELECT MAX(datetime) FROM animal_ins;📌 Discussion SELECT 절에서 MAX를 사용하여 최댓값만 호출

SQL 문제풀이

[프로그래머스 SQL] LV.1 과일로 만든 아이스크림 고르기

❓ Question ❗ Answer SELECT fst.flavor FROM first_half fst LEFT OUTER JOIN icecream_info info ON fst.flavor = info.flavor WHERE fst.total_order > 3000 AND info.ingredient_type = 'fruit_based' ORDER BY fst.total_order DESC;📌 Discussion LEFT OUTER JOIN으로 key인 flavor를 기준으로 모든 데이터를 추출 where로 필터링

냄비짱
'mysql' 태그의 글 목록 (8 Page)