해결된 질문
작성
·
235
2
안녕하세요
select order_date from NorthWind.orders
where order_id in (select order_id from customers);
부분에서 쿼리에러는 발생하지 않지만 ,
최종결과에서는 우리가 생각하는것과 달리 전체 데이터를 출력하고있잖아요 .
그 이유가 무엇이라고용 ?? 서브쿼리에서 외부 테이블의 칼럼을 참조하고있으면 그런건가용?? 왜그런걸까용 ? ㅎㅎ
customers 테이블엔 order_id 칼럼이 존재하지 않고 ,
외부에있는 order_id 를 참조하고있으니 그냥 값만 들어있어도 전체쿼리가 출력이 되는걸까요 ??
답변 1
0
안녕하세요 info님,
최종적으로 WHERE order_id = order_id 형식(자기 자신을 결합)을 가지게 되어 이는 사실 상 WHERE 1 = 1 의 의미가 되므로 orders 테이블의 모든 행을 검색(출력)하는 결과가 만들어집니다.
이해에 도움이 되시길 바랍니다.
김정선 드림
도움되었습니다 감사합니당