반응형
문제1 LeetCode 627. [Swap-Salary]
https://leetcode.com/problems/swap-salary/
사용된 개념
UPDATE 테이블명
SET 컬럼명 = CASE
WHEN condition1 THEN value_if_condition1_true
WEHN condition2 THEN value_if_condition2_true
ELSE value_other_case
END
(WHERE 조건식);
문제 풀이
UPDATE salary
SET
sex = CASE
WHEN SEX ='m' THEN 'f'
WHEN SEX ='f' THEN 'm'
END;
문제2 LeetCode 196. [Delete Duplicate emails]
https://leetcode.com/problems/delete-duplicate-emails/
사용된 개념
From절 서브쿼리
- 예시
FROM (
SELECT 컬렴명 ,
컬렴명,
COUNT (incidend_id) AS incidents_daily
FROM 테이블명
GROUP BY week,date
) 예시로 만들 테이블명
FROM 절안에 ()를 만들어 원래있던 table에서 새로운 테이블을 만들 수 있다.
이때 괄호가 끝나는 부분에 새로운 테이블명을 작성해야한다.
WHERE 절 서브쿼리
- 예시
SELECT *
FROM crimes
WHERE date = (SELECT MIN(date) FROM crimes)
SELECT *
FROM crimes
WHERE date IN (SELECT date FROM crimes ORDER BY date DESC LIMIT 5)
문제 풀이
# Write your MySQL query statement below
DELETE
FROM person
WHERE id NOT IN(
SELECT sub.min_id
FROM(
SELECT email, MIN(id) AS min_id
FROM Person
GROUP BY email
)sub)
'SQL > MySQL' 카테고리의 다른 글
[MySQL] 서브쿼리 해커랭크(Top Earners), 리트코드(Department Highest Salary) 예제문제 풀어보기 (0) | 2022.02.14 |
---|---|
[MySQL] 서브쿼리 ( Subquery) (0) | 2022.02.14 |
[MySQL] DML (Data Manipulation Language) (0) | 2022.02.03 |
[MYSQL] 해커랭크 문제풀기 Symmetric Pairs (0) | 2022.01.30 |
[MYSQL] 위 아래로 데이터 이어붙이기, UNION, UNION ALL (0) | 2022.01.29 |