in 2

[Oracle] IN, EXISTS, NOT IN, NOT EXISTS 특징 및 비교

다중 행(Multi Row) 서브쿼리 IN과 EXISTS 실행 순서 및 특징1) IN : 실제 존재(일치)하는 데이터들의 모든 값까지 확인.① SubQuery를 먼저 실행하여 출력되는 그에 대한 모든 row가져옴(따라서 사실 IN뒤의 괄호안에는 서브쿼리 이외에도 직접 요소 값을 적어줄 수 있음)② 이후에는 MainQuery에서 하나의 row를 가져옴.③ 그 row의 값이 ①에서 가져온 IN 이하의 요소들에 포함(일치)되어 있는지를 체크하고, SubQuery의 요소들 중 하나라도 일치한다면 그 row를 출력④ ②번~③번 과정 반복하면서 결과 출력.  2) EXISTS : 단지 해당 row가 존재하는지만 확인하고, 더 이상 수행되지 않음.① MainQuery를 먼저 실행하여 출력되는 상위 row가져옴.② 해..

Database 2020.09.18

Oracle 서브쿼리(Sub Query) 사용법 & 예제

서브쿼리(Sub Query) 개념1) SQL문 내에 쓰인 SELECT 문을 의미하며, 이때 바깥에 있는 SQL문을 메인 쿼리(Main Query)라 부른다.2) MainQuery 안에 포함된 종속적인 관계이기 때문에 논리적인 실행순서는 항상 MainQuery에서 읽혀진 데이터에 대해 SubQuery에서 해당 조건이 만족하지를 확인하는 방식으로 수행되어야 한다. 그러나 실제 SubQuery의 실행순서는 상황에 따라 달라질 수 있음. → SubQuery의 검색된 결과 값이 MainQuery에 사용될 때의 SubQuery는 MainQuery 실행 전에 실행됨.서브쿼리 종류설명비연관(Un-Correlated) 서브쿼리서브쿼리가 메인쿼리 칼럼을 가지고 있지 않는 형태의 서브쿼리를 의미한다. 메인쿼리에 값(서브쿼리..

Database 2020.09.17