일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- If
- Chat GPT
- jd
- cross join
- 팀프로젝트
- Python
- 군집화
- 프롬프트 엔지니어링
- 태블로
- SQL
- da
- 기초통계
- 히트맵
- 서브쿼리
- streamlit
- 클러스터링
- 데이터 분석
- 크롤링
- 최종 프로젝트
- SQLD
- 프로젝트
- pandas
- 기초프로젝트
- GA4
- 시각화
- 데이터분석
- data analyst
- lambda
- 머신러닝
- 전처리
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 |