inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

갖고노는 MySQL 데이터베이스 by 얄코

쿼리 안에 서브쿼리

10분 26초 쿼리문 문의 드려요, P2.CategoryID = P1.CategoryID

392

가후

작성한 질문수 90

0

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 절을 추가한 이유가 궁금합니다.

데이터 엔지니어링 DBMS/RDBMS mysql sql

답변 3

0

얄팍한 코딩사전

수강평으로 주신 피드백 잘 보았습니다.
소중한 의견 참고하여 앞으로는 더 좋은 강의 만들어가도록 하겠습니다.

감사합니다.

0

얄팍한 코딩사전

해당 절을 빼고 쿼리를 돌려보세요. 갯수가 2개 더 나올겁니다. (각 50개, 52개)

P2에서는 P1과 CaregoryID가 같은 행만 골라서 값을 비교해야 하는데 해당 절이 없으면 다 가져오게 됩니다.

둘 다 Products 테이블이지만, 서브쿼리 밖의 것과 안의 것은 완전히 별개의 테이블이기 때문에 조건으로 묶어줘야 하는거에요.
(같은 종이를 복사해서 두 명이 따로 들고 있다고 생각해보세요. '~행 말하는 거야'하고 서로 알려줘야 소통이 되겠죠)

찬찬히 쿼리를 살펴보시면 이해되실거에요. 😊

0

가후

자문 자답합니다. 제가 엄청 잘못 생각 하고있었습니다.

WHERE 절이 있어야지

해당 카테고리들의 평균값을 구해올수가 있네요

0

얄팍한 코딩사전

방금 저도 답글 달았는데, 스스로 해결하셨네요!!!

twitterdb 연결이 안돼요

1

24

2

Kafka Cluster 구성도 질문

0

14

1

아주 작은 정오표 전달드립니다.

0

35

2

인덱스? 파티셔닝? 관련 문의 드립니다

0

304

1

SQL 설치 관련 질문 (이메일 주소가 잘못 됐다고 나와요)

0

680

2

강의내용

0

609

1

대체 어디다 질문을 올리는겁니까? 상담도 정해진 질문만 받고…

-4

1615

1

강의페이지에 이메일이 어디잇나요

0

737

1

M1 맥북인데 에러가 납니다 ㅠㅠ

0

739

1

얄코형님 자료는 없는거죠??

0

1019

1

안녕하세요 강의 구성 관련 질문

0

441

1

SQLD 자격증 공부하고 있는 학생입니다

0

806

1

질문

0

384

1

5-1 SyntaxError 문의 드립니다.

0

434

1

CLI로 진행시 mysql 연결

1

652

7

에러 처리 질문

0

470

1

데이터 가공 효율성 관련 질문드립니다.

0

327

1

인스톨하는 처음 화면 창이 다르게 업데이트 되었는데 어떻게 할까요?

0

473

2

에러가 뜹니다..

0

733

13

연산자 문의 IN 과 = 의 결과가 같은 이유가 궁금합니다. (4분45초영상)

0

258

1

데이터가 잘못 들어가 있는거 같아요

0

313

1

궁금증

0

285

1

궁금한점

0

286

1

order by created?

0

317

1