일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 클러스터링
- streamlit
- 데이터분석
- 군집화
- cross join
- data analyst
- 서브쿼리
- 팀프로젝트
- pandas
- Chat GPT
- SQL
- lambda
- If
- da
- 시각화
- 전처리
- 머신러닝
- 프롬프트 엔지니어링
- 데이터 분석
- 최종 프로젝트
- 히트맵
- SQLD
- 크롤링
- 태블로
- 기초프로젝트
- Python
- jd
- 기초통계
- 프로젝트
- GA4
Archives
- Today
- Total
세조목
SQL 정리(Cross Join)(23.12.26) 본문
Cross Join
Join에는 여러가지 종류가 있다.
Inner join, Left join, Right join 등등
그런데 각각의 테이블 內 모든 데이터들의 경우의 수를 표시하는 join이 있다.
그것이 바로 Cross Join
이런 개념이다.
이같은 cross join을 활용해야하는 예제를 한번 살펴보자
https://leetcode.com/problems/students-and-examinations/description/
이렇게 3개의 테이블이 존재하고 각각의 학생들이 각각의 시험이 응시한 횟수를 구하라고 요구한다.
이 예제에서 문제가 되는건 Alex라는 친구는 시험에 응시하지 않았기때문에 Math, Physics, Programming을 붙일수가 없는데 어떻게 하면 아래 이미지에서처럼 각 과목들을 붙일수 있느냐는것이다.
이 때 Students 테이블과 Subjects 테이블을 Cross Join으로 붙여주면 각 학생들이 각 과목들을 수강하는 모든 경우의 수를 구함으로써 Alex에 Math, Physics, Programming을 붙일 수 있게 된다.
'데이터 분석 공부 > SQL' 카테고리의 다른 글
SQL 정리(STR_TO_DATE, SQL 실행 순서, 데이터 삭제)(23.12.29) (1) | 2023.12.30 |
---|---|
SQL 정리(Join - cross, left)(leetcode - 1280. Students and Examinations)(23.12.28) (1) | 2023.12.27 |
SQL 정리(self join)(23.12.22) (1) | 2023.12.22 |
SQL 정리(is와 null, 서브쿼리, char_length)(23.12.20) (0) | 2023.12.20 |
SQL 예제 정리(23.12.18) (0) | 2023.12.18 |