[리트코드 SQL] Day 4-1. Union & Select
SQL I : Day 4-1 Union & Select 2문제 풀이
1965. Employees With Missing Information
(1) 코드 작성
(SELECT E.EMPLOYEE_ID
FROM EMPLOYEES AS E
LEFT JOIN SALARIES AS S ON E.EMPLOYEE_ID = S.EMPLOYEE_ID
WHERE S.SALARY IS NULL
UNION
SELECT S.EMPLOYEE_ID
FROM EMPLOYEES AS E
RIGHT JOIN SALARIES AS S ON E.EMPLOYEE_ID = S.EMPLOYEE_ID
WHERE E.NAME IS NULL)
ORDER BY EMPLOYEE_ID
(2) 코드 리뷰 및 회고
- 문제는 정보가 누락된 직원 데이터를 출력하는 것이다.
- 두 테이블(
EMPLOYEES
,SALARIES
)를 LEFT JOIN / RIGHT JOIN하여 급여 정보가 누락된 경우와 이름 정보가 누락된 경우를 찾고UNION
으로 붙여주었다. - 마지막으로 직원 아이디를 기준으로 오름차순 정렬했다.
- 👉 문제 보러가기
1795. Rearrange Products Table
(1) 코드 작성
SELECT PRODUCT_ID, 'STORE1' as STORE, STORE1 AS PRICE
FROM PRODUCTS
WHERE STORE1 IS NOT NULL
UNION
SELECT PRODUCT_ID, 'STORE2' as STORE, STORE2 AS PRICE
FROM PRODUCTS
WHERE STORE2 IS NOT NULL
UNION
SELECT PRODUCT_ID, 'STORE3' as STORE, STORE3 AS PRICE
FROM PRODUCTS
WHERE STORE3 IS NOT NULL
(2) 코드 리뷰 및 회고
- 문제는 컬럼으로 존재하는 정보를 행으로 전환하여 가져오는 것이다.
제품ID | 매장1 가격 | 매장2 가격 | 매장3 가격
제품ID | 매장정보 | 가격
- 위 조건을 만족하기 위해
SELECT-FROM-WHERE
구문을 3개 만들어UNION
으로 묶어주었다. - 매장 정보는
'STORE1'
과 같은 방식으로 일괄처리했고 컬럼명을STORE
로 만들었다. - 👉 문제 보러가기
👩🏻💻개인 공부 기록용 블로그입니다
오류나 틀린 부분이 있을 경우 댓글 혹은 메일로 따끔하게 지적해주시면 감사하겠습니다.
댓글남기기