비상관 서브쿼리 - 서브쿼리와 본 쿼리의 관계가 없는 상태
Select CategoryID, CategoryName, Description, (SELECT ProductName FROM Products WHERE ProductID = 1)
FROM Categories;
카테고리 아이디, 카테고리 이름, 본문, (프로덕트 데이블에서 프로덕트 아이디가 1인 프로덕트 중에서)을 가져오기
카테고리 테이블에서

SELECT * FROM Products
WHERE Price < ( SELECT AVG(Price) FROM Products );
모두 가져오기
프로덕트 테이블에서
프로덕트 테이블의 가격 평균보다 작은 가격인 것들을

SELECT CategoryID, CategoryName, Description
FROM Categories
WHERE CategoryID = (SELECT CategoryID FROM Products WHERE ProductName = 'Chais');
카테고리 아이디, 카테고리 이름, 본문을 가져오기
카테고리 테이블에서
카테고리 아이디가 ( 프로덕트 테이블에서 프로덕트의 이름이 Chais인 카테고리 아이디)와 같을 때만

SELECT CategoryID, CategoryName, Description
FROM Categories
WHERE CategoryID IN (SELECT CategoryID FROM Products WHERE Price > 50);
카테고리 아이디, 카테고리 이름, 본문을 가져오기
카테고리 테이블에서
카테고리 아이디가 ( 프로덕트 테이블에서 가격이 50보다 큰 카테고리 아이디들) 중에 있는 것만

SELECT * FROM Products
WHERE Price > ALL (SELECT Price FROM Products WHERE CategoryID = 2);
모두 가져오기
프로덕트 테이블에서
가격이 (프로덕트 테이블에서 카테고리 아이디가 2인 가격)의 어떤 것보다(Max) 높은 것들만

SELECT CategoryID, CategoryName, Description
FROM Categories
WHERE CategoryID = ANY (SELECT CategoryID FROM Products WHERE Price > 50);
카테고리 아이디, 카테고리 이름, 본문을 가져오기
카테고리 테이블에서
카테고리 아이디가 (프로덕트 테이블에서 가격이 50이상인 카테고리 아이디) 중에 있는 걸로

상관쿼리 - 서브쿼리와 본쿼리가 맞물리는 관계가 있는 상태
SELECT ProductID, ProductName,
(SELECT CategoryName FROM Categories C WHERE C.CategoryID = P.CategoryID) AS CategoryName
FROM Products P;
프로덕트 아이디와 프로덕트 이름, 카테고리 이름(카테고리 테이블에서 카테고리 테이블의 카테고리 아이디와 프로덕트 테이블의 카테고리 아이디가 같은 카테고리 이름만)을 가져오기
프로덕트 테이블에서

SELECT SupplierName, Country, City,
(SELECT COUNT(*) FROM Customers C WHERE C.Country = S.Country) AS CustomersInTheCountry,
(SELECT COUNT(*) FROM Customers C WHERE C.Country = S.Country AND C.City = S.City) AS CustomersInTheCity
FROM Suppliers S;
서플라이어 이름, 국가, 도시,
국가 내 고객( 고객 테이블에서 고객 테이블의 국가와 서플라이어 테이블의 국가가 같을 때의 수),
도시 내 고객( 고객 테이블에서 고객 테이블의 국가와 서플라이어 테이블의 국가도 같고, 도시도 같을 때의 수)을 가져오기
서플라이어 테이블에서

SELECT CategoryID, CategoryName, ( SELECT MAX(Price) FROM Products P WHERE P.CategoryID = C.CategoryID) AS MaximumPrice,
(SELECT AVG(Price) FROM Products P WHERE P.CategoryID = C.CategoryID) AS AveragePrice
FROM Categories C;
카테고리 아이디와 카테고리 이름,
최대금액(프로덕트 테이블에서 프로덕트 테이블의 카테고리 아이디와 카테고리 테이블의 카테고리 아이디가 같은 것들 중 가장 높은 가격),
평균금액(프로덕트 테이블에서 프로덕트 테이블의 카테고리 아이디와 카테고리 테이블의 카테고리 아이디가 같은 것들의 평균 가격)을 가져오기
카테고리 테이블에서
