제로베이스 데이터 취업 파트타임/100일 챌린지_일일 학습 일지
제로베이스 데이터 파트타임 스쿨 학습 일지 [25.05.29]
김뚱입니다
2025. 5. 29. 03:00
[강의 요약]
[Part 05. SQL_ Ch09. Join] 강의 수강
클립 03~11까지 수강하였음
🐢 100일 챌린지 🔥 : [▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰ ] 74/100일 (74%)
오늘은 실습 강의가 대부분이어서, 글로 정리할 내용은 적은 편이다.
[Join 문제]
▶ 문제 1
snl_show에 출연한 celeb 중 영화배우나 텔런트가 아닌 연예인의 아이디, 이름, 직업, 시즌, 에피소드를 검색하시오.
[풀이 SQL]
SELECT c.id, c.name, c.job, s.season, s.episode
FROM celeb c
JOIN snl_show s ON c.name = s.name
WHERE c.job NOT LIKE '%영화배우%'
AND c.job NOT LIKE '%텔런트%';
- JOIN으로 celeb ↔ snl_show 연결
- 이름 기준 매칭 : ON c.name = s.name
- NOT LIKE을 두 번 사용해 직업명이 영화배우/텔런트를 포함하지 않는 경우 필터링
▶ 문제 2
snl_show에 출연한 celeb 중, 작년 9월 15일 이후 출연했거나
소속사 이름이 ‘엔터테이먼트’로 끝나지 않고, 직업이 영화배우나 개그맨이 아닌 사람의
아이디, 이름, 직업, 소속사를 검색하시오.
[풀이 SQL]
SELECT c.id, c.name, c.job, c.agency
FROM celeb c
JOIN snl_show s ON c.name = s.name
WHERE (
s.broadcast_date > '2022-09-15'
OR (
c.agency NOT LIKE '%엔터테이먼트'
AND c.job NOT LIKE '%영화배우%'
AND c.job NOT LIKE '%개그맨%'
)
);
- broadcast_date > '2022-09-15' : 최근 출연자 조건
- NOT LIKE '%엔터테이먼트' : 소속사 이름이 특정 패턴이 아님
- job NOT LIKE을 두 번 사용해서 ‘영화배우’, ‘개그맨’이 아닌 직업 필터링
- OR 조건으로 두 그룹의 조건 중 하나라도 만족하면 결과에 포함
▶ 요약
개념 | 설명 | 예시 |
JOIN ... ON | 두 테이블 결합 | JOIN snl_show ON c.name = s.name |
NOT LIKE | 문자열 미포함 조건 | job NOT LIKE '%개그맨%' |
OR + AND 복합 조건 | 괄호로 묶어 우선순위 명확히 | (A AND B) OR C |
broadcast_date 비교 | 날짜 필터 | > '2022-09-15' |
[나의 생각 정리]
JOIN을 다 배웠는데 아직 헷갈린다 ㅎㅎ;
많이 사용해야 눈이랑 손에 익숙해질 것 같다.
[적용점]
결과에서 필요한 컬럼만 선별적 조회
“이 글은 제로베이스 데이터 스쿨 주 3일반 강의 자료 일부를 발췌하여 작성되었습니다.”