OkBublewrap

Page With No Likes 본문

개발/SQL

Page With No Likes

옥뽁뽁 2025. 3. 8. 11:24

Page With No Likes

문제

1. 좋아요 수가 0인 Facebook 페이지의 ID를  반환

2. 페이지 ID 오름차순 정렬

 

풀이

SELECT p1.page_id
from pages p1
  left join page_likes p2 on p1.page_id = p2.page_id
where p2.user_id is null
order by p1.page_id

1️⃣ Left Join으로 page_id 결합

page_likes가 없는 page는 null 값으로 됨

2️⃣ page_likes에 없는 page_id 가져오기 - 조건 1

3️⃣ page의 page_id 기준으로 오름차순 정렬

 

 

다른 풀이

#1 EXCEPT

SELECT page_id
FROM pages
EXCEPT
SELECT page_id
FROM page_likes;

 

MYSQL 에서는 사용 불가능

EXCEPT 함수: 차집합

A: pages , B: page_likes

 

pages에 좋아요 없는 것만 남음

 

#2 NOT IN

SELECT page_id
FROM pages
WHERE page_id NOT IN (
  SELECT page_id
  FROM page_likes
  WHERE page_id IS NOT NULL
);

 

풀이를 보는데 개인적으로 이 코드는 별로임

 

1️⃣ 서브쿼리: page_likes 에서 null이 아닌 값 (좋아요가 있는 페이지ID)

2️⃣ 조건 1: pages에서 좋아요가 아닌 페이지ID

 

 

#3 NOT EXISTS

SELECT page_id
FROM pages
WHERE NOT EXISTS (
  SELECT page_id
  FROM page_likes AS likes
  WHERE likes.page_id = pages.page_id
);

 

1️⃣ page 테이블에서 page_id 반복하며, 좋아요 존재 유무확인

2️⃣ NOT EXISTS: 좋아요 없는 page_id반환

 

 

 

'개발 > SQL' 카테고리의 다른 글

Laptop vs. Mobile Viewership  (0) 2025.03.08
Unfinished Parts  (0) 2025.03.08
Data Science Skills  (0) 2025.03.08
Histogram of Tweets  (0) 2025.03.08
SQL 문자열 다루기  (0) 2025.03.04