inflearn logo
강의

Course

Instructor

[The concept is easy~, the practice is intense] SQL data analysis, utilization!

Average test scores by subject, how much?

과목별 평균 시험절수 얼마? 서브쿼리 or JOIN ?

379

hughlee

6 asked

0

과목별 평균 시험절수 얼마? 문제 2번 풀이 하실 때

서브쿼리를 사용하셨는데

조인문으로 해도 결과는 동일하게 나오는데

select

courses.title as 과목명

, round(avg(grades.exam_score), 2) as 평균시험점수

from grades

inner join courses

on grades.course_id = courses.id

group by courses.title ;

 

서브쿼리를 사용해서 데이트를 조회하는게

그냥 조인문을 사용해서 사용하는것보다 데이터 조회 속도가 빨라서 그렇게 하신걸까요?

sql postgresql dbms/rdbms

Answer 1

0

hongpark

거기까지 생각안하고
그냥 JOIN으로 풀려서
풀었습니다만 😅

특정 쿼리를
조인과 서브쿼리로 모두 작성 가능하다면
보통 JOIN으로 작성하는게 좋습니다
(물론 모두 그런 건 아님, 여러 상황을 고려해야함)

가장 최적의 방법은
양쪽의 쿼리를 비교 분석하여
더 빠른 쿼리를 작성하는 것입니다

고려해야할 요소로는
성능, 가독성, 유연성 정도가 있겠습니다

성능
일반적으로 처리 속도에서는 JOIN이 빠릅니다

가독성
테이블간 관계를 나타냄에 있어 JOIN이 가독성이 좋습니다

유연성
복잡한 로직이나 조건,
또는 통계 정보 추출 시
Subquery가 활용에 좋습니다

 

정리
JOIN이 좋은 경우:

  • 여러 테이블 간의 관계를 명확하게 표현하고 싶을 때

  • 성능을 최적화하고 싶을 때 (대용량 테이블에서 특히 중요)

  • OUTER JOIN을 통해 관련이 없는 레코드도 포함하려고 할 때

Subquery가 유리한 경우:

  • 복잡한 로직이나 조건을 처리해야 할 때

  • 작업을 단계별로 나누어 처리하고 싶을 때

  • 상황에 따라 다양한 위치에서 사용하고자 할 때 (SELECT, WHERE, HAVING, FROM 절 등)

 

노션 링크도 안 열리고, 알려준 vercel도 실행이 안됩니다.

0

10

1

Substack 1년 제공

1

21

3

특별 학습 자료 프로모션 1년 멤버십 무료 제공 문의드립니다

0

27

2

코드를 첨부해야하는 이유가 있나요?

0

20

2

간단한 오타 제보입니다.

0

19

1

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

0

35

2

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

0

35

2

Sequence 관련 질문

1

32

2

Image Only Query

1

29

2

JOIN, 서브쿼리 결과 정렬 질문

0

367

1

JOIN만 사용 vs 서브쿼리 사용

0

551

1

cafe 테이블을 언제 만들었나요..?

0

268

1

홍팍 선생님 질문입니다! sql!

0

445

1

상품#11 문제

0

335

1

RIGHT 조인이 싫다면 ??!!

0

311

1

1:42 PHOTOS 테이블 질문입니다 ㅎㅎ

0

235

1

퀴즈 답 혹시 틀린게 있을까요 ...? [ 홍빡님한테도 피드백 받고 싶고..]

0

430

1

안녕하세요. pgadmin 설치 error 문의드립니다.

0

398

1

훈련 1번 결과가 달라요

0

237

1

뻥튀기 문제

0

210

1

훈련4번과 훈련5번문 무슨 차이인가요?

0

214

1

훈련의 정답은 어디서 볼 수 있나요?

0

260

1

3번문제 질문드립니다.

0

179

1

훈련 2번째 문제 질문

0

320

1