하위쿼리 in 사용여부 컴활 하위쿼리 문제에 대한 궁금증이 있어요 제가 푸는 문제는...
하위쿼리 in 사용여부 컴활
하위쿼리 문제에 대한 궁금증이 있어요 제가 푸는 문제는 업데이트 쿼리쪽입니다.이게 푸는방식이 두종류가 있는데첫번째는 두개의 테이블 띄워놓고 푸는 방법으로 조인된 필드 일치하는 결과값 표기 세팅해놓고 업데이트할 필드 조건으로 사용될 필드 사용해서 작성하는것이고두번째는 한개 테이블 띄워놓고 이중쿼리로 작성하는 방법입니다여기서 질문 드립니다 이중쿼리는 in연산자가 있어야만 작성되는거 같은데첫번째의 경우엔 in이 있든 없든 결과값이 동일하게 도출되더라고요 그래서 제가 이해한게 문제지문속에 in을 쓰란말이 없으면 첫번째 방식으로 풀고in을 쓰란말이 있다면 두번째 방식으로 풀려고 준비중입니다 제가 이해한게 맞나요? 아니라면 어떤부분에대한 이해가 부족한것인지 아니면 정확히 설명하자면 이러이러하다고 말씀좀 부탁드릴게요
이 부분에서 많이들 혼동하십니다. 저도 처음엔 “둘 다 결과 같은데 뭐가 정답이지?” 했었어요. 이렇게 정리하시면 정확합니다: 1. 조인 방식(두 테이블 연결)은 내부적으로 일치하는 레코드를 직접 연결해서 업데이트하는 구조입니다. IN이 없어도 됩니다. 2. 이중쿼리(하위쿼리)는 한 테이블을 기준으로, 다른 테이블의 조건 결과를 가져와야 해서 보통 WHERE 필드 IN (SELECT …) 형태가 됩니다. 3. 결과가 같더라도 “문제에서 하위쿼리로 작성하시오”라고 하면 반드시 IN(또는 EXISTS 등 서브쿼리 문법)을 사용해야 합니다. 4. 아무 지시가 없으면 조인 방식이 더 간단하고 실수 확률이 낮아서 시험에서는 그쪽이 안정적입니다. 즉, 질문자님 이해가 거의 맞습니다. 다만 핵심은 “IN이 필수라서가 아니라, 하위쿼리 구조이기 때문에 IN을 쓰는 것”입니다. 조인과 서브쿼리는 문법 구조 차이입니다. 시험에서는 지문 지시어를 최우선으로 보시면 됩니다.