Aracılığıyla paylaş


Tüm (Transact-SQL)

Tek sütunlu skaler bir değerle karşılaştırır küme değerler.

Topic link iconTransact-SQL sözdizimi kuralları

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

Bağımsız değişkenler

  • scalar_expression
    Herhangi bir geçerli mi ifade.

  • { = | <> | != | > | >= | !> | < | <= | !< }
    Karşılaştırma işleç belirtilir.

  • subquery
    Bir sonuç veren bir alt sorgu iş küme bir sütun.Döndürülen veri türü sütun veri türü aynı veri türünde olmalıdır scalar_expression.

    Içinde ORDER BY yan tümce, COMPUTE yan tümce ve INTO anahtar sözcüğü verilmez sınırlı deyim belirtilir.

Sonuç türleri

Boolean

Sonuç değeri

Returns TRUE when the comparison specified is TRUE for all pairs (scalar_expression**,**x), when x is a value in the single-column set; otherwise returns FALSE.

Remarks

ALL gerektirir scalar_expression alt sorgu tarafından döndürülen her değer için kısıtlayacak karşılaştırmak için . For instance, if the subquery returns values of 2 and 3, scalar_expression <= ALL (subquery) would evaluate as TRUE for a scalar_expression of 2.Alt sorgu, 2 ve 3, # sayı scalar_expression = Bazı alt sorgunun (3 değer) değerlerini deyimin ölçütlerine değil çünkü ALL (sorgu) YANLıŞ olarak değerlendirme.

Gerektiren bir ifade için scalar_expression yalnızca bir alt sorgu tarafından döndürülen değere kısıtlayacak karşılaştırmak için , bkz: BAZı | ANY (Transact-SQL).

Bu konu, bir alt sorgu ile birlikte kullanıldığında için ALL başvuruyor.ALL de birlikte kullanılabilir. BİRLEŞİM and SELECT.

Örnekler

Aşağıdaki örnek, belirleyen bir saklı yordam oluşturur olup olmadığını, belirtilen tüm bileşenleri SalesOrderID içinde AdventureWorks Belirtilen gün sayısı olarak üretilen veritabanı. Örnek bir alt sorgu sayısını gösteren bir liste oluşturmak için kullanır. DaysToManufacture değer, belirli bileşenlerin tümü için SalesOrderIDve sonra teyit tüm DaysToManufacture gün sayısı içinde belirtilir.

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.' ;

Yordamı sınamak için , yordamı kullanarak yürütmek SalesOrderID 49080, sahip olduğu bir bileşeni gerektiren 2 gün ve 0 (sıfır) gün gerektiren iki bileşeni. Ilk deyim aşağıdaki ölçütleri karşılar.Ikinci sorguyu bu desteği vermez.

EXECUTE DaysToBuild 49080, 2 ;

Here is the result set.

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

EXECUTE DaysToBuild 49080, 1 ;

Here is the result set.

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