Microsoft로 로그인
로그인하거나 계정을 만듭니다.
안녕하세요.
다른 계정을 선택합니다.
계정이 여러 개 있음
로그인할 계정을 선택합니다.

하위 쿼리는 SELECT, SELECT... 내에 중첩된 SELECT 문입니다. INTO, INSERT... INTO, DELETE 또는 UPDATE 문 또는 다른 하위 쿼리 내부.

구문

다음 세 가지 구문을 사용하여 하위 쿼리를 만들 수 있습니다.

비교 [ANY | ALL | SOME] (sqlstatement)

expression [NOT] IN(sqlstatement)

[NOT] EXISTS(sqlstatement)

하위 쿼리에는 다음과 같은 부분이 있습니다.

구성 요소

설명

비교

식을 하위 쿼리의 결과와 비교하는 식 및 비교 연산자입니다.

하위 쿼리의 결과 집합을 검색하는 식입니다.

sqlstatement

SELECT 문은 다른 SELECT 문과 동일한 형식 및 규칙을 따릅니다. 괄호로 묶어야 합니다.


주의

SELECT 문의 필드 목록이나 WHERE 또는 HAVING 절에서 식 대신 하위 쿼리를 사용할 수 있습니다. 하위 쿼리에서는 SELECT 문을 사용하여 WHERE 또는 HAVING 절 식에서 평가할 하나 이상의 특정 값 집합을 제공합니다.

동의어인 ANY 또는 SOME 조건자를 사용하여 하위 쿼리에서 검색된 레코드와 비교를 충족하는 기본 쿼리에서 레코드를 검색합니다. 다음 예제에서는 단가가 25% 이상의 할인된 가격으로 판매된 제품보다 큰 모든 제품을 반환합니다.

SELECT * FROM Products WHERE UnitPrice > ANY (SELECT UnitPrice FROM OrderDetails WHERE Discount >= .25);

ALL 조건자를 사용하여 하위 쿼리에서 검색된 모든 레코드와 비교를 충족하는 기본 쿼리에서 해당 레코드만 검색합니다. 이전 예제에서 ANY를 ALL로 변경한 경우 쿼리는 단가가 25% 이상의 할인된 가격으로 판매된 모든 제품의 가격보다 큰 제품만 반환합니다. 이것은 훨씬 더 제한적입니다.

IN 조건자를 사용하여 하위 쿼리의 일부 레코드에 같은 값이 포함된 기본 쿼리에서 해당 레코드만 검색합니다. 다음 예제에서는 25% 이상의 할인된 가격으로 모든 제품을 반환합니다.

SELECT * FROM Products WHERE ProductID IN (SELECT ProductID FROM OrderDetails WHERE Discount >= .25);

반대로 NOT IN을 사용하여 하위 쿼리에 같은 값이 포함된 레코드가 없는 기본 쿼리에서 해당 레코드만 검색할 수 있습니다.

true/false 비교에서 EXISTS 조건자(선택적 NOT 예약 단어 포함)를 사용하여 하위 쿼리가 레코드를 반환하는지 여부를 확인합니다.

하위 쿼리에서 테이블 이름 별칭을 사용하여 하위 쿼리 외부의 FROM 절에 나열된 테이블을 참조할 수도 있습니다. 다음 예제에서는 급여가 동일한 직종을 가진 모든 직원의 평균 급여보다 크거나 같은 직원의 이름을 반환합니다. Employees 테이블에는 별칭 "T1"이 지정됩니다.

SELECT LastName, FirstName, Title, Salary FROM Employees AS T1 WHERE Salary >= (SELECT Avg(Salary) FROM Employees WHERE T1.Title = Employees.Title) Order by Title;

앞의 예제에서 AS 예약어 선택 사항입니다.

일부 하위 쿼리는 크로스탭 쿼리, 특히 조건자(WHERE 절에 있는 쿼리)에서 허용됩니다. 출력(SELECT 목록에 있는 하위 쿼리)은 크로스탭 쿼리에서 허용되지 않습니다.



도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.

이 정보가 유용한가요?

언어 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?
제출을 누르면 피드백이 Microsoft 제품과 서비스를 개선하는 데 사용됩니다. IT 관리자는 이 데이터를 수집할 수 있습니다. 개인정보처리방침

의견 주셔서 감사합니다!

×