서브 쿼리

0

TIL

목록 보기
121/126

서브쿼리 : SQL에서 사용되는 쿼리 안에 포함된 또 다른 쿼리를 의미하며, 서브쿼리는 주로 메인 쿼리의 조건이나 결과를 도출하기 위해 사용한다.


비상관 서브쿼리 :
-. 서브쿼리가 메인 쿼리와 상관없이 독립적으로 실행.
-. 서브쿼리의 실행은 메인 쿼리의 각 행에 대해 한 번만 수행

~ ALL 연산자 : 서브쿼리 모든 결과에 대해 ~

SELECT * FROM Products
WHERE Price > ALL (
	SELECT Price FROM Products
    WHERE CategoryID = 2
);

~ ANY 연산자 : 서브쿼리 하나 이상의 결과에 대해 ~

SELECT
	CategoryID, CategoryName, Description
FROM Categories
WHERE
	CategoryID = ANY
    (SELECT CategoryID FROM Products
    WHERE Price > 50);

상관 서브쿼리 :
-. 메인 쿼리와 연관되어있음
-. 메인 쿼리의 한 행에 대해 여러 번 실행
-. 서브쿼리의 실행은 메인 쿼리의 각 행에 대한 결과에 따라 동적으로 변경

EXISTS 연산자 : 서브쿼리문에 해당하는 조건에 대해 ~

SELECT
	CategoryID, CategoryName,
    (SELECT MAX(P.Price) FROM Products P
    WHERE P.CategoryID = C.CategoryID
    ) AS MaxPrice
FROM Categories C
WHERE EXISTS (
	SELECT * FROM Products P
    WHERE P.CategoryID = C.CategoryID
    AND P.Price > 80
);

0개의 댓글