Data Scientist 옌

매일 발전하는 IT문제해결사

728x90

전체 344

2021 Dev-Matching: 웹 백엔드 개발자 - 헤비 유저가 소유한 장소

헤비 유저가 소유한 장소 MySQL 기준으로 풀이하였습니다. SELECT P.ID, P.NAME, P.HOST_ID FROM ( SELECT HOST_ID, COUNT(HOST_ID) AS COUNTS FROM PLACES GROUP BY HOST_ID ) A JOIN PLACES P ON P.HOST_ID = A.HOST_ID WHERE A.COUNTS > 1 ORDER BY P.ID 문제없이 풀이하였습니다. 이것으로 프로그래머스에 있는 SQL 문제는 모두 풀었습니다.

Summer/Winter Coding(2019) - 우유와 요거트가 담긴 장바구니

우유와 요거트가 담긴 장바구니 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하기 (결과는 장바구니의 아이디 순)가 문제입니다. MySQL 기준으로 풀이하였습니다. 제가 풀이한 과정은 아래와 같습니다. 요거트를 산 장바구니를 기준으로 우유를 산 장바구니를 붙이도록 해서 결과를 냈습니다. 그런데 제가 머릿 속으로 그린 결과가 나오도록 아무리 해봐도 답이 안나오길래 정답을 알기 위해 다른 분들 코드를 보고 돌려 정답을 확인했습니다. SELECT M.CART_ID FROM CART_PRODUCTS AS M, CART_PRODUCTS AS Y WHERE M.CART_ID = Y.CART_ID AND M.NAME = 'Milk' AND Y.NAME = 'Yogurt' ORDER BY M.CART_ID 위 ..

SQL 고득점 Kit - String, Date (6)

String, Date 출제 빈도 낮음, 평균 점수 낮음, 문제 세트 5개 MySQL 기준으로 풀이하였습니다. (1) 루시와 엘라 찾기 (Level 2) SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty') (2) 이름에 el이 들어가는 동물 찾기 (Level 2) SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE ANIMAL_TYPE = 'Dog' AND NAME LIKE '%el%' ORDER BY NAME (3) 중성화 여부 파악하기 (Level 2) SELECT ANIMAL_ID, NAME, IF(..

SQL 고득점 Kit - JOIN (5)

JOIN 출제 빈도 높음, 평균 점수 낮음, 문제 세트 4개 MySQL 기준으로 풀이하였습니다. (1) 없어진 기록 찾기 (Level 3) SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_OUTS OUTS LEFT JOIN ANIMAL_INS INS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID WHERE INS.ANIMAL_ID IS NULL (2) 있었는데요 없었습니다 (Level 3) SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_INS INS LEFT JOIN ANIMAL_OUTS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID WHERE OUTS.DATETIME < INS.DATETIME ORD..

SQL 고득점 Kit - IS NULL (4)

IS NULL 출제 빈도 낮음, 평균 점수 보통, 문제 세트 3개 MySQL 기준으로 풀이하였습니다. (1) 이름이 없는 동물의 아이디 (Level 1) SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID (2) 이름이 있는 동물의 아이디 (Level 1) SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID (3) NULL 처리하기 (Level 2) SELECT ANIMAL_TYPE, IFNULL(NAME, "No name") AS NAME, SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID 여기까지 문제없이..

SQL 고득점 Kit - GROUP BY (3)

GROUP BY 출제 빈도 보통, 평균 점수 보통, 문제 세트 4개 MySQL 기준으로 풀이하였습니다. (1) 고양이와 개는 몇 마리 있을까 (Level 2) SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) as count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE (2) 동명 동물 수 찾기 (Level 2) SELECT NAME, COUNT FROM ( SELECT NAME, COUNT(NAME) as COUNT FROM ANIMAL_INS GROUP BY NAME ORDER BY NAME ) name_group WHERE COUNT >= 2 (3) 입양 시각 구하기 (1) (Level 2) SELECT HOUR(DATE..

SQL 고득점 Kit - SUM, MAX, MIN (2)

SUM, MAX, MIN 출제 빈도 보통, 평균 점수 높음, 문제 세트 4개 MySQL 기준으로 풀이하였습니다. (1) 최댓값 구하기 (Level 1) SELECT DATETIME FROM ANIMAL_INS ORDER BY DATETIME DESC LIMIT 1 (2) 최솟값 구하기 (Level 2) SELECT DATETIME FROM ANIMAL_INS ORDER BY DATETIME LIMIT 1 (3) 동물 수 구하기 (Level 2) SELECT COUNT(ANIMAL_ID) FROM ANIMAL_INS (4) 중복 제거하기 (Level 2) SELECT COUNT(DISTINCT NAME) FROM ANIMAL_INS ORDER BY NAME 여기까지 문제없이 풀이하였습니다.

SQL 고득점 Kit - SELECT (1)

SELECT 출제 빈도 낮음, 평균 점수 높음, 문제 세트 7개 MySQL 기준으로 풀이하였습니다. (1) 모든 레코드 조회하기 (Level 1) SELECT ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID (2) 역순 정렬하기 (Level 1) SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC (3) 아픈 동물 찾기 (Level 1) SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = 'Sick' ORDER BY ANIMAL_ID (4)..

728x90