inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

데이터 분석을 위한 SQL 문제풀이 (Advent of SQL 2024)

DAY9 질문

해결된 질문

111

Jason

작성한 질문수 9

0

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

강의에서, with 문이랑

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

 

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

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

sql mysql postgresql sqlite

답변 2

0

윤선미

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

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

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

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

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

0

인프런 AI 인턴

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

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

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

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

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

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

간단한 오타 제보입니다.

0

3

0

큰 범위 조회 시 EXPLAIN의 rows 값이 정확하지 않은 이유가 궁금합니다.

0

19

1

실제 FK제약조건을 설정하지 않는이유

0

19

1

조회속도 개선에서 더 개선하는 방법이 궁금합니다.

0

21

2

Free Edition 실습 영상은 아직 업데이트전인가요?

0

15

1

라이브 운영중인 환경의 테이블에 인덱스 추가시 고려사항

0

29

2

상품 정보 크롤링

0

23

2

JPA Repository 질문이 있습니다!

1

32

2

페이지네이션 처리를 쿼리에서 하는 방식 질문

1

35

1

강의에 적용한 스크립트를 받아 볼수 있을까요?

0

38

2

실습소실행안되요

0

33

1

비동기 스레드풀 분리 이유와 Virtual Thread 전환 시 고려사항

0

33

1

수강기간 연장

0

25

1

평균값 구하기

0

54

2

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

0

81

3

DAY8 질문

0

49

2

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

0

63

2

펭귄조사

0

97

2

코테 합격 전략

0

140

1

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

0

175

1

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

0

124

2

Day 6 질문

0

112

2

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

0

127

1

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

0

152

1