10분 26초 쿼리문 문의 드려요, P2.CategoryID = P1.CategoryID
388
90 asked
SELECT
ProductID, ProductName, CategoryID, Price
FROM Products AS P1
WHERE Price < (SELECT AVG(Price) FROM Products AS P2
WHERE P2.CategoryID = P1.CategoryID);
전체 코드 중에서
WHERE P2.CategoryID = P1.CategoryID
요 코드가 이해가 안갑니다.
WHERE 절이 필요없지 않나요?
어차피 P2.CategoryID = P1.CategoryID
의 값은 , Products 의 CategoryID 값과 똑같으니까요?
혹시 제가 잘못 생각하고 있는건지 궁금해서 문의 드립니다.
WHERE 절을 추가한 이유가 궁금합니다.
Answer 3
0
해당 절을 빼고 쿼리를 돌려보세요. 갯수가 2개 더 나올겁니다. (각 50개, 52개)
P2에서는 P1과 CaregoryID가 같은 행만 골라서 값을 비교해야 하는데 해당 절이 없으면 다 가져오게 됩니다.
둘 다 Products 테이블이지만, 서브쿼리 밖의 것과 안의 것은 완전히 별개의 테이블이기 때문에 조건으로 묶어줘야 하는거에요.
(같은 종이를 복사해서 두 명이 따로 들고 있다고 생각해보세요. '~행 말하는 거야'하고 서로 알려줘야 소통이 되겠죠)
찬찬히 쿼리를 살펴보시면 이해되실거에요. 😊
0
자문 자답합니다. 제가 엄청 잘못 생각 하고있었습니다.
WHERE 절이 있어야지
해당 카테고리들의 평균값을 구해올수가 있네요
패키지 구분에 대해 궁금한게 있습니다
0
7
1
노션 링크도 안 열리고, 알려준 vercel도 실행이 안됩니다.
0
10
1
스프링부트 서버 에러나요
0
17
1
인덱스? 파티셔닝? 관련 문의 드립니다
0
298
1
SQL 설치 관련 질문 (이메일 주소가 잘못 됐다고 나와요)
0
673
2
강의내용
0
606
1
대체 어디다 질문을 올리는겁니까? 상담도 정해진 질문만 받고…
-4
1607
1
강의페이지에 이메일이 어디잇나요
0
733
1
M1 맥북인데 에러가 납니다 ㅠㅠ
0
734
1
얄코형님 자료는 없는거죠??
0
1012
1
안녕하세요 강의 구성 관련 질문
0
436
1
SQLD 자격증 공부하고 있는 학생입니다
0
805
1
질문
0
375
1
5-1 SyntaxError 문의 드립니다.
0
427
1
CLI로 진행시 mysql 연결
1
635
7
에러 처리 질문
0
465
1
데이터 가공 효율성 관련 질문드립니다.
0
324
1
인스톨하는 처음 화면 창이 다르게 업데이트 되었는데 어떻게 할까요?
0
465
2
에러가 뜹니다..
0
703
13
연산자 문의 IN 과 = 의 결과가 같은 이유가 궁금합니다. (4분45초영상)
0
253
1
데이터가 잘못 들어가 있는거 같아요
0
310
1
궁금증
0
282
1
궁금한점
0
278
1
order by created?
0
311
1

