반응형
내부 쿼리에서 메인 쿼리의 데이터를 참조하는 방식인 상관서브쿼리(Correlated Subquery)를 사용하고 있습니다. 상관서브쿼리는 메인 쿼리 적용 테이블의 행마다 서브쿼리가 반복 실행되는 방식입니다. 일반적인 쿼리의 경우 서브 쿼리의 결과를 메인에서는 단순히 이용만 하지만 상관 서브 쿼리에서는 서브 쿼리가 메인 쿼리의 값을 이용하여 값을 구하면 그 값을 다시 메인 쿼리에서 이용하는 구조입니다.
Inner조인으로 쿼리하면 서로 키가 일치하는 데이터만 구할 수 있습니다. 여기서 구하고자 하는 데이터는 한쪽 테이블에 일치하는 정보가 없을 때 이므로 outer 조인으로 해결하거나 exists 구문을 사용해야 합니다.
exists는 처리결과로 boolean 값을 리턴하고 join은 처리결과로 테이블을 리턴하는 차이가 있습니다.
[출처]tacademy-데이터베이스 강의 참고자료
728x90
'[개발관련] > Database(Mysql)' 카테고리의 다른 글
[ Mysql] DB Time Zone 변경 (0) | 2019.04.08 |
---|---|
쿼리 연습 ex )세로축은 product_name별, 가로축은 주문년도를 "2015년", "2016년"으로 구성하여 product_name별, 년도별 주문건수를 집계하세요. (주문건수가 없으면 0으로 표시) (0) | 2019.04.07 |
NOT IN, NOT EXIST 정리 (0) | 2019.04.07 |
데이터베이스 데이터 유형 및 CHAR와 VARCHAR (0) | 2019.04.06 |
윈도우 mysql 설정 파일 my.ini 파일 위치 (0) | 2019.04.04 |