inflearn logo
강의

Course

Instructor

SQL problem solving for data analysis (Advent of SQL 2024)

DAY9 질문

Resolved

146

Jason

9 asked

0

스크린샷 2025-04-14 오전 9.01.40.png

강의에서, with 문이랑

INNER JOIN 쓰시는 부분이 나오는데.

 

1. 갑자기 WITH 문 왜 쓰시는지, 어떨때 써야하는지, 궁금합니다.

2. 빈값들 채울 때는 INNER JOIN 쓰는 건가요?

sql mysql postgresql sqlite

Answer 2

0

sunmiyoon

안녕하세요! 아래 AI 인턴이 대답을 잘 해줬네요ㅎㅎ

  1. WITH 문은 FROM 절 서브쿼리를 대체해서 쿼리의 가독성을 올리고 싶을 때 사용합니다. FROM 절 서브쿼리로 쓰셔도 됩니다.

  1. INNER JOIN은 두 테이블을 연결할 때 사용합니다. 위에서는 각 장르별로 계산한 통계값을 games 라는 테이블에 붙이기 위해서 사용했네요.

이 강의는 문제풀이 강의로, 이론은 이미 알고 있다고 가정하고 강의하기 때문에 처음보는 내용은 생소했을 수도 있을 것 같네요. 이론적인 내용은 인프런에 올라와있는 [백문이불여일타] 데이터 분석을 위한 고급 SQL 또는 SQL 데이터 분석 캠프 | 실전반 참고해보시면 좋을 것 같습니다.

양질의 무료 자료로는 Mode의 SQL Tutorial이 있습니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.
Jason님께서 질문해주신 내용에 대해 답변 드리겠습니다.

1. WITH 문은 왜 사용하며, 언제 사용해야 하나요?

WITH 문, 즉 공통 테이블 표현식(CTE)는 복잡한 쿼리를 보다 쉽게 읽고 관리하기 위해 사용됩니다. 복잡한 서브쿼리를 사용하지 않고도, WITH 문을 사용하여 미리 필요한 데이터를 준비할 수 있습니다. 이는 쿼리의 가독성을 높이고, 동일한 연산을 여러 번 수행할 필요가 있는 경우에도 유용합니다. 일반적으로 다음의 경우에 WITH 문을 사용합니다:
- 서브쿼리를 대체하여 쿼리의 가독성을 향상시키고자 할 때
- 동일한 결과 집합을 여러 번 사용할 필요가 있을 때
- 스텝별로 데이터를 변환하면서 복잡한 논리를 단순화하고자 할 때

2. 빈 값들을 채울 때 INNER JOIN을 주로 사용하는가?

INNER JOIN은 두 테이블 간의 매칭되는 행만 반환하기 때문에 빈 값을 채우는 용도로 사용되지는 않습니다. 빈 값을 채우기 위해서는 LEFT JOIN이나 다른 방식의 결합을 생각해볼 수 있습니다. LEFT JOIN은 왼쪽 테이블의 모든 행을 반환하고, 오른쪽 테이블에서 매칭되지 않는 경우 NULL을 반환하기 때문에, 특정 열에 대해 기본값을 채우는 데 적합합니다. Jason님께서 언급하신 INNER JOIN은 주로 매칭되는 데이터를 추출할 때 유용합니다.

도움이 되셨기를 바랍니다! 추가적인 질문이 있으시면 언제든지 말씀해 주세요.

Group By 절에 작성하는 컬럼 문의드립니다.

0

7

2

Issuance 테이블에 status, couponId 인덱스가 꼭 필요할까요?

1

9

1

문제와 풀이2 1번문제

0

10

1

강의자료 모바일에서 읽기

0

20

2

1번 문제 질문

0

40

2

3-13 리텐션 과제 제출합니다

0

42

2

부하 테스트 시 설정 관련 질문드립니다

1

56

1

build 시 에러 해결방법 공유(docker.desktop 업데이트 -> 의존성 버전 수정)

0

53

2

실습 데이터(PostgreSQL 백업 파일) 관련하여 문의드립니다. (Hive 환경 실습)

0

37

2

sakila 실전 17번 문제

0

36

1

복합인덱스 설계 질문

0

79

1

app logs 데이터로 쿼리 연습

0

52

2

ArticleReadService 관련 질문

0

38

1

평균값 구하기

0

98

2

[Day23] 정답 데이터와 동일함에도 오답 처리됩니다.

0

143

3

DAY8 질문

0

93

2

게임을 10개 이상 발매한 게임 배급사 찾기

0

107

2

펭귄조사

0

142

2

코테 합격 전략

0

173

1

SQL (입문, 실전, 마스터) 빨리 듣는 방법

0

197

1

SQL 치트 시트 (실전)(마스터) 도 추가 요청합니다~

0

149

2

Day 6 질문

0

143

2

Day4. COUNT(*) 만해도 충분한 이유

0

152

1

테스트 케이스를 통과하지 못했습니다.

0

176

1