Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 오블완
- 파이썬 철저 입문
- 프로젝트
- harkerrank
- 텍스트 분석
- 내일배움캠프
- 스파르타 코딩
- 파이썬 완벽 가이드
- SQL
- 파이썬 머신러닝 완벽 가이드
- 티스토리챌린지
- wil
- 스파르타코딩
- 프로그래머스
- 파이썬 철저입문
- MySQL
- 내일배움
- 파이썬 머신러닝 완벽가이드
- 내일배움카드
- 스파르타
- 중회귀모형
- 회귀분석
- 파이썬
- hackerrank
- 실전 데이터 분석 프로젝트
- 웹 스크랩핑
- TiL
- Cluster
- 미세먼지
- R
Archives
- Today
- Total
OkBublewrap
Page With No Likes 본문
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
#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 |