Prologue
오늘 한 일: 튜터님이 제공해주신 Postgre SQL 코드 테스트 Easy 4문제 해결, 최종 프로젝트 주제 확정, 최종 프로젝트 발제, SQLD 기출 1회 풀기
DataLemur PostgreSQL 코딩 테스트
1. Histogram of Tweets, Twitter
목표: 2022년도에 Tweet한 개수별로 유저의 수 구하기
결과: tweets_bucket(tweet한 개수), users_num(유저 수)
- user 별 tweet 수 (in 2022)
```sql
-- user 별 tweet 수 (in 2022)
SELECT user_id, COUNT(tweet_id) tweets_num
FROM tweets
WHERE tweet_date BETWEEN '2022-01-01' AND '2022-12-31'
GROUP BY user_id;
2. tweets_num -> tweets_bucket
```sql
-- tweets_num -> tweets_bucket
WITH tb AS(
SELECT user_id, COUNT(tweet_id) tweets_num
FROM tweets
WHERE tweet_date BETWEEN '2022-01-01' AND '2022-12-31'
GROUP BY user_id
)
SELECT
tweets_num AS tweets_bucket
,COUNT(user_id) AS users_num
FROM tb
GROUP BY tweets_num
2. Data Science Skills, LinkedIn
목표: Data Science job에 가장 적합한 Skills을 갖고 있는 Candidates 구하기
적합한 Skills: 'Python', 'Tableau', 'PostgreSQL'
결과: Candidate_id
관심있는 데이터만 Filter하기
SELECT candidate_id FROM candidates WHERE skill IN ('Python', 'Tableau', 'PostgreSQL')
후보자별로 skill이 3개인 후보자 구하기
SELECT candidate_id FROM candidates WHERE skill IN ('Python', 'Tableau', 'PostgreSQL') GROUP BY candidate_id Having COUNT(skill) = 3
3. Page With No Likes, Facebook SQL Interview Question
목표: page id, like가 없는
- page_id 순으로 정렬하기
- like가 없는 페이지 구하기 = page와 page_likes 간의 관계를 봐야 함
-> JOIN 사용, 그 중에서 LEFT JOIN 사용
- like가 없는 페이지는 LEFT JOIN의 결과 LIKE 정보가 NULL로 들어옴
-> WHERE 절로 LIKE 테이블의 열이 NULL인 행 찾기
- ORDER BY 절로 정렬하기
-- like 없는 page_id, page id 순으로 정렬
SELECT p.page_id
FROM pages p
LEFT JOIN page_likes l
ON p.page_id = l.page_id
WHERE user_id IS NULL
ORDER BY p.page_id
4. Unfinished Parts, Tesla SQL Interview Question
목표: 작업진행중인 Part 구하기
작업진행중 = parts_assembly 테이블에 있음 + finish date가 없음
-- 작업진행중인 부분
SELECT part, assembly_step
FROM parts_assembly
WHERE finish_date IS NULL
SQLD 기출 1회차
50문제 중 26문제 맞춤. 4문제 더 맞혀야 합격
오답 복습하고 이론 복습하고 2,3회차 기출 풀고 오답하기
최종 프로젝트
구미시 버스 주제로 제출했다. 혼자 해서 긴장되기는 하면서도 재밌다.
어차피 앞으로 혼자해야 할 거 이번 기회에 혼자 밀어붙이면서
모르는 거나 힘든 거는 튜터님들께 물어가면서 많이 배워야 겠다.
안성재 셰프님이 모르는데도 많이 그냥 했다는 얘기가 기억에 남는다.
나도 이번에 그런 마인드로 해보고도 싶다.
'Today I Learned' 카테고리의 다른 글
[TIL] 25.03.10 Postgre SQL과 프로젝트 시작 땡땡땡 (0) | 2025.03.11 |
---|---|
[TIL] 25.03.07 Postgre 코드 테스트 복기(진짜 시험 아님) (1) | 2025.03.07 |
[TIL] 25.03.05 SQLD와 SQL 그리고 구미시 버스 프로젝트 시작 (0) | 2025.03.05 |
[TIL] 25.02.27 API 및 웹 크롤링 (0) | 2025.02.27 |
[TIL] 25.02.26 데이터 분석가 취업 고민 및 조언 정리 (0) | 2025.02.27 |