SQL/문제풀이 64

[HakcerRank] Top Earners

https://www.hackerrank.com/challenges/earnings-of-employees/problem?h_r=internal-search&isFullScreen=true 1. WHERE절 서브쿼리 이용 earnings의 가장 큰 값을 구한 후 WHERE절을 이용해서 그 값을 가진 사람 수를 필터링 SELECT salary * months AS earnings, COUNT(*) FROM employee WHERE salary * months = ( SELECT MAX(salary*months) FROM employee ) -- WHERE 절에서 서브쿼리를 쓰고싶을때는 AS 로 불러올수가없다 ... GROUP BY earnings 2. HAVING절 서브쿼리 이용 1번과 차이는 GROUP..

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