분류 전체보기 186

[LeetCode] Delete Duplicated Emails 📌

https://leetcode.com/problems/delete-duplicate-emails/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 중복된 이메일을 삭제하는 문제이다. 테이블에서 어떤 column을 지우기 위해서는 DELETE 문을 사용해야 한다. 1. 서브쿼리를 활용해서 지우지 말아야하는 id와 이메일을 뽑고 2. 해당 서브쿼리의 id를 가져와..

SQL 2024.02.16

[LeetCode] Swap Salary

https://leetcode.com/problems/swap-salary/description/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com sex column의 모든 m을 f로, f를 모두 m으로 바꿔줘야 하는 문제이다. 즉, 데이터를 바꿔줘야하는 문제이므로 UPDATE 문을 사용해야 하는데 조건에 따라 데이터를 바꿔주는 방식이 다르므로 CASE문과 결..

SQL/문제풀이 2024.02.15

[HackerRank] Symmetric Pairs 📌

https://www.hackerrank.com/challenges/symmetric-pairs/problem?h_r=internal-search&isFullScreen=true Symmetric Pairs | HackerRank Write a query to output all symmetric pairs in ascending order by the value of X. www.hackerrank.com X1 = Y2 and X2 = Y1 인 경우를 Symmetric Pairs 라고 한다. 조건이 약간 복잡하게 느껴지는 경우 Case를 쪼개보면 좋다. ex1)20 2020 20 SELECT x, y FROM functions WHERE x = y GROUP BY x, y HAVING COUNT(*) ..

SQL/문제풀이 2024.02.14

[HakcerRank] Type of Triangle

https://www.hackerrank.com/challenges/what-type-of-triangle/problem?h_r=internal-search&isFullScreen=true Type of Triangle | HackerRank Query a triangle's type based on its side lengths. www.hackerrank.com 우선 삼각형이 되기 위해서는, 가장 긴 변을 제외한 두 변의 길이를 더한 값 > 가장 긴 변의 길이 여야 한다. 처음 작성한 코드는 다음과 같다. WHEN 을 여러번 사용하여 1개의 CASE문 내에 여러개의 조건을 넣었는데 .. 틀렸다 ! CASE문에 작성한 조건의 순서가 틀렸던것으로 보인다. SELECT CASE WHEN a = b AND ..

SQL/문제풀이 2024.02.14

[프로그래머스] 상품을 구매한 회원 비율 구하기 📌

https://school.programmers.co.kr/learn/courses/30/lessons/131534 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT YEAR(s.sales_date) AS year, MONTH(s.sales_date) AS month, COUNT(DISTINCT s.user_id) AS purchased_users, ROUND(COUNT(DISTINCT s.user_id)/( SELECT COUNT(DISTINCT user_id) FROM user_info WHERE YEAR(joined) = 2021), 1) ..

SQL/문제풀이 2024.02.13

[프로그래머스] 보호소에서 중성화한 동물 📌

https://school.programmers.co.kr/learn/courses/30/lessons/59045 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 생각한 쿼리는 다음과 같다. WITH info AS ( SELECT o.animal_id, i.sex_upon_intake, o.sex_upon_outcome FROM animal_outs o LEFT JOIN animal_ins i ON o.animal_id = i.animal_id WHERE i.sex_upon_intake LIKE '%intact%' AND (o.sex_upon_out..

SQL/문제풀이 2024.02.12

[프로그래머스] 그룹별 조건에 맞는 식당 목록 출력하기 📌

https://school.programmers.co.kr/learn/courses/30/lessons/131124 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 원래 하고싶었던건 1. 가장 많은 리뷰를 남긴 사람의 리뷰 수를 뽑고 2. 그 리뷰수를 남긴 사람의 리스트를 뽑고 3. 그 리스트를 활용해서 리뷰를 뽑는거였다 1. SELECT m.member_name, COUNT(r.review_id) AS cnt FROM rest_review r JOIN member_profile m ON r.member_id = m.member_id GROUP BY m.m..

SQL/문제풀이 2024.02.12

[프로그래머스] 5월 식품들의 총매출 조회하기

https://school.programmers.co.kr/learn/courses/30/lessons/131117 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT o.product_id, p.product_name, SUM(o.amount) * p.price AS total_sales FROM food_order o INNER JOIN food_product p ON o.product_id = p.product_id WHERE YEAR(o.produce_date) = 2022 AND MONTH(o.produce_date) = 5 GROUP B..

SQL/문제풀이 2024.02.12

[프로그래머스] 입양 시각 구하기 (2)

https://school.programmers.co.kr/learn/courses/30/lessons/59413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 생각나는대로 짠 결과는 다음과 같다. SELECT HOUR(datetime) AS hour, COUNT(animal_id) AS count FROM animal_outs GROUP BY hour ORDER BY hour hour count 7 3 8 1 9 1 10 2 11 13 12 10 13 14 14 9 15 7 16 10 17 12 18 16 19 2 문제에서 원하는 hour는 0시부터 2..

SQL/문제풀이 2024.02.12