
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
10-2. 서브쿼리와 뷰
강의 중 다중행 서브쿼리 실습 1번 문제를 풀고 있는데
다중행 서브쿼리를 사용하면서 단일행 서브쿼리용 연산자 =, >, < 를 사용하면 안 되는 것 아닌가요?
-- 자료 정답
SELECT P.participant_id, P.participant_name, P.height, S.sport_name
FROM PARTICIPANT P
JOIN SPORT S
ON P.main_sport_id = S.sport_id
WHERE
P.height > (
SELECT AVG(P2.height)
FROM PARTICIPANT P2
WHERE P2.main_sport_id = P.main_sport_id
);
정답 보니까 WHERE절에 단일행 서브쿼리용 연산자 >를 사용했는데
그럼 문제 자체는 다중행 서브쿼리 문제라고 보기 어려운건가요..?
+ 추가로 답변에 있는 코드 복붙했을때 에러가 나는데 SELECT 절이 잘못된게 맞는지 확인 부탁드리겠습니다
--제가 수정한 거
SELECT P.partic_id, P.first_name, P.height, S.sport_name
FROM PARTICIPANT P
JOIN SPORT S
ON P.main_sport_id = S.sport_id
WHERE P.height > (
SELECT AVG(P2.height)
FROM PARTICIPANT P2
WHERE P2.main_sport_id = P.main_sport_id
);
