JOIN만 사용 vs 서브쿼리 사용
551
3 asked
-- 3. 평균 학점이 3.5미만인 학생은?
SELECT students.nickname AS "닉네임", ROUND(AVG(grade_points.point),2) AS "평균 학점"
FROM students
JOIN grades ON grades.student_id = students.id
JOIN grade_points ON grade_points.grade = grades.grade
GROUP BY students.nickname
HAVING 3.5 > AVG(grade_points.point)
;
-- 서브 쿼리 이용 답
SELECT students.nickname AS "닉네임", avg_grade_point.round AS "평균 학점"
FROM students
JOIN (-- 학생별_평균_학점
SELECT student_id, ROUND(AVG(point), 2)
FROM grades
JOIN grade_points ON grade_points.grade = grades.grade
GROUP BY student_id
HAVING AVG(point) < 3.5
) AS avg_grade_point ON avg_grade_point.student_id = students.id
;
서브 쿼리를 이용하려고 생각하는 게 좋을까요?
단순히 JOIN만 사용해서 할 수 있으면 JOIN만 써도 괜찮을까요..?
현업에서는 어떤 걸 더 많이 쓰게 될지 궁금합니다!
Answer 1
0
일반적으로
서브쿼리 없이
JOIN문만으로 작성하는게 성능적으로 빠를 수 있습니다
단, 테이블 구조에 따라 다를 수 있으므로
실제 쿼리속도를 비교해보는 것이 좋습니다
노션 링크도 안 열리고, 알려준 vercel도 실행이 안됩니다.
0
10
1
Substack 1년 제공
1
21
3
특별 학습 자료 프로모션 1년 멤버십 무료 제공 문의드립니다
0
27
2
코드를 첨부해야하는 이유가 있나요?
0
20
2
간단한 오타 제보입니다.
0
19
1
큰 범위 조회 시 EXPLAIN의 rows 값이 정확하지 않은 이유가 궁금합니다.
0
34
2
실제 FK제약조건을 설정하지 않는이유
0
35
2
Sequence 관련 질문
1
32
2
Image Only Query
1
29
2
JOIN, 서브쿼리 결과 정렬 질문
0
367
1
cafe 테이블을 언제 만들었나요..?
0
268
1
과목별 평균 시험절수 얼마? 서브쿼리 or JOIN ?
0
379
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

