ALL(Transact-SQL)

업데이트: 2006년 7월 17일

스칼라 값을 단일 열 집합 값과 비교합니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

scalar_expression { = | <> | != | > | >= | !> | < | <= | !< } ALL ( subquery )

인수

  • scalar_expression
    유효한 입니다.
  • { = | <> | != | > | >= | !> | < | <= | !< }
    비교 연산자입니다.
  • subquery
    한 열의 결과 집합을 반환하는 하위 쿼리입니다. 반환된 열의 데이터 형식은 scalar_expression의 데이터 형식과 같아야 합니다.

    하위 쿼리는 제한된 SELECT 문이며 ORDER BY 절, COMPUTE 절, INTO 키워드는 허용되지 않습니다.

주의

ALL의 경우 하위 쿼리에 의해 반환된 모든 값을 정확하게 비교하려면 scalar_expression이 필요합니다. 예를 들어 하위 쿼리에서 2와 3의 값을 반환할 경우 scalar_expression = ALL(하위 쿼리)은 2의 scalar_express에 대해 TRUE로 계산됩니다. 하위 쿼리에서 2와 3의 값을 반환할 경우에는 하위 쿼리 값(3의 값)의 일부가 식의 조건을 만족하지 않으므로 scalar_expression = ALL(하위 쿼리)은 FALSE로 계산됩니다.

하위 쿼리에서 반환된 하나의 값을 정확하게 비교할 수 있도록 scalar_expression을 필요로 하는 문에 대한 내용은 SOME | ANY(Transact-SQL)를 참조하십시오.

이 항목에서는 하위 쿼리에 사용되는 경우의 ALL을 참조합니다. ALL은 UNIONSELECT에도 사용될 수 있습니다.

결과 형식

Boolean

결과 값

모든 쌍(scalar_expression**,**x)에 대해 지정된 비교값이 TRUE일 경우 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다. 이때 x는 단일 열 집합의 값입니다.

다음 예에서는 AdventureWorks 데이터베이스에서 지정한 SalesOrderID의 모든 구성 요소를 지정된 기간 내에 제조할 수 있는지 여부를 결정하는 저장 프로시저를 만듭니다. 이 예에서는 하위 쿼리를 사용하여 특정 SalesOrderID의 모든 구성 요소에 대해 DaysToManufacture 값의 숫자 목록을 만든 다음 모든 DaysToManufacture가 지정된 기간 내에 있는지 확인합니다.

USE AdventureWorks ;
GO

CREATE PROCEDURE DaysToBuild @OrderID int, @NumberOfDays int
AS
IF 
@NumberOfDays >= ALL
   (
    SELECT DaysToManufacture
    FROM Sales.SalesOrderDetail
    JOIN Production.Product 
    ON Sales.SalesOrderDetail.ProductID = Production.Product.ProductID 
    WHERE SalesOrderID = @OrderID
   )
PRINT 'All items for this order can be manufactured in specified number of days or less.'
ELSE 
PRINT 'Some items for this order cannot be manufactured in specified number of days or less.' ;

프로시저를 테스트하려면 2일이 필요한 한 개의 구성 요소 및 0일이 필요한 두 개의 구성 요소가 포함되어 있는 SalesOrderID 49080을 사용하여 프로시저를 실행합니다. 아래 첫 번째 문은 조건을 만족합니다. 두 번째 쿼리는 조건을 만족하지 않습니다.

EXECUTE DaysToBuild 49080, 2 ;

결과 집합은 다음과 같습니다.

All items for this order can be manufactured in specified number of days or less.

EXECUTE DaysToBuild 49080, 1 ;

결과 집합은 다음과 같습니다.

Some items for this order cannot be manufactured in specified number of days or less.

참고 항목

참조

CASE(Transact-SQL)
식(Transact-SQL)
함수(Transact-SQL)
LIKE(Transact-SQL)
연산자(Transact-SQL)
SELECT(Transact-SQL)
WHERE(Transact-SQL)
IN(Transact-SQL)

관련 자료

ANY, SOME 또는 ALL에 의해 수정된 비교 연산자
논리 연산자
하위 쿼리 기본 사항
하위 쿼리 기본 사항

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2006년 7월 17일

새로운 내용
  • 주의 섹션을 추가했습니다.
  • 예를 추가했습니다.