[sql] 스칼라 서브쿼리와 인라인 서브쿼리의 차이점

스칼라 서브쿼리의 예시

SELECT column1, (SELECT MAX(column2) FROM table2) AS max_column2
FROM table1;

위의 쿼리에서 (SELECT MAX(column2) FROM table2)는 스칼라 서브쿼리입니다.

인라인 서브쿼리의 예시

SELECT column1, table2.max_column2
FROM table1
JOIN (SELECT MAX(column2) AS max_column2 FROM table2) AS table2
ON table1.column1 = table2.max_column2;

위의 쿼리에서 (SELECT MAX(column2) AS max_column2 FROM table2)는 인라인 서브쿼리입니다.

스칼라 서브쿼리는 외부 쿼리 결과에 따라 한 번만 실행되지만, 인라인 서브쿼리는 내부 쿼리 결과에 따라 여러 번 실행됩니다. 때문에 각각의 서브쿼리는 다른 상황에서 사용됩니다.