[Programmers] 298519번 - 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 [MySQL]
문제 링크 1. 문제 풀이 잡은 물고기의 길이가 10cm 이하일 경우 NULL이므로 IFNULL 함수를 활용해 NULL이면 10cm로 계산하게 해줬다. 물고기의 종류로 그룹핑 후 그룹 평균 길이가 33cm 이상인 그룹만 HAVING 절로 필터링해줬다. 2. 쿼리 SELECT COUNT(*) AS FISH_COUNT, ...
문제 링크 1. 문제 풀이 잡은 물고기의 길이가 10cm 이하일 경우 NULL이므로 IFNULL 함수를 활용해 NULL이면 10cm로 계산하게 해줬다. 물고기의 종류로 그룹핑 후 그룹 평균 길이가 33cm 이상인 그룹만 HAVING 절로 필터링해줬다. 2. 쿼리 SELECT COUNT(*) AS FISH_COUNT, ...
문제 링크 1. 문제 풀이 업그레이드할 수 없는 아이템은 자식 아이템이 없는 아이템으로 ITEM_TREE 테이블에서 PARENT_ITEM_ID에 아이디가 존재하지 않는 아이템들이다. 해당 아이디들을 서브쿼리로 구해서 아이템 아이디가 포함되지 않는지 비교하는 방식으로 해결했다. 2. 쿼리 SELECT ITEM_ID, ITEM_NAM...
문제 링크 1. 문제 풀이 서브쿼리를 활용해서 USED_GOODS_BOARD 테이블에서 가장 조회수가 높은 중고거래 게시물의 아이디를 찾았다. 파일명은 CONCAT 함수를 활용해서 양식에 맞게 출력해줬다. 2. 쿼리 SELECT CONCAT('/home/grep/src/', BOARD_ID, '/', FILE_ID, FILE_NA...
문제 링크 1. 문제 풀이 서브쿼리를 활용해서 USED_GOODS_BOARD 테이블에서 중고 거래 게시물을 3개 이상 등록한 사용자의 아이디들을 찾고 이를 WHERE 절에서 IN 연산자로 필터링해줬다. 양식에 맞춘 출력은 CONCAT, LEFT, RIGHT, SUBSTRING 함수를 활용했다. 2. 쿼리 SELECT USE...
문제 링크 1. 문제 풀이 JOIN 후 WHERE 절에서 자동차의 종류와 10월에 대여한 자동차를 필터링해줬다. 자동차 ID 리스트는 중복이 없어야 해서 DISTINCT를 활용했다. 2. 쿼리 SELECT DISTINCT c.CAR_ID FROM CAR_RENTAL_COMPANY_CAR AS c JOIN CAR_RENTAL_COM...
문제 링크 1. 문제 풀이 2022년 10월 16일에 대여중인지 여부를 판단해야 하는데 BETWEEN 연산자는 해당 범위에 포함되면 1, 아니면 0을 반환하는 점을 활용했다. 2. 쿼리 SELECT CAR_ID, IF(SUM('2022-10-16' BETWEEN START_DATE AND END_DATE) > ...
문제 링크 1. 문제 풀이 세 개의 테이블을 모두 JOIN 후 WHERE 절로 2022년 1월의 도서만 필터링 후 저자와 카테고리를 기준으로 그룹핑을 해주면 된다. 2. 쿼리 SELECT a.AUTHOR_ID, a.AUTHOR_NAME, b.CATEGORY, SUM(b.PRICE * s.SALES) F...
문제 링크 1. 문제 풀이 APPOINTMENT 테이블을 기준으로 PATIENT 테이블과 DOCTOR 테이블을 JOIN 해줬다. APPOINTMENT 테이블의 MDDR_ID와 DOCTOR 테이블의 DR_ID를 기준으로 JOIN 해주면 된다. 2. 쿼리 SELECT a.APNT_NO, p.PT_NAME, a.P...
문제 링크 1. 문제 풀이 JOIN 후 성별 정보가 없는 경우를 WHERE 절로 필터링하고 년, 월, 성별을 기준으로 그룹핑을 해주면 된다. 이때 회원수를 세야해서 COUUT 집계함수에서 레코드의 수를 세는게 아니라 고유한 유저 아이디의 수를 세줬다. 2. 쿼리 SELECT YEAR(o.SALES_DATE) AS YEAR,...
문제 링크 1. 문제 풀이 음식 종류별로 즐겨찾기수가 가장 많은 식당을 찾아야하는데 서브쿼리를 활용해서 음식 종류별로 가장 즐겨찾기가 많은 레코드를 찾고, 이를 WHERE 절에서 튜플 비교로 찾았다. 2. 쿼리 SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITES FRO...