Udostępnij za pośrednictwem


WSZYSTKIE (Transact-SQL)

Porównuje wartość wartość skalarna z jedno -kolumna zestaw wartości.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

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

Argumenty

  • scalar_expression
    Wszelkie obowiązuje wyrażenie.

  • { = | <> | != | > | >= | !> | < | <= | !< }
    Jest operatorporównania.

  • subquery
    Jest podzapytanie , która zwraca zestaw wyników jedną kolumna.Typ danych zwróconej kolumna muszą być tego samego typu danych jako typ danych scalar_expression.

    Jest ograniczone wybierz instrukcja, w którym ORDER BY klauzulaobliczeń klauzulai słowa kluczowego INTO nie są dozwolone.

Typy wyników

Boolean

Wartość wyniku

Zwraca wartość PRAWDA, porównanie określona jest wartość TRUE dla wszystkich par (scalar_expression**,**x), gdy x jest wartością w jedno -kolumna zestaw; w przeciwnym razie zwraca wartość FALSE.

Uwagi

WSZYSTKIE wymaga scalar_expression do porównywania pozytywnie, co wartość zwróconych przez podzapytanie.Dla wystąpienie, jeśli podzapytanie zwraca wartości 2 i 3, scalar_expression <= ALL (podzapytanie) będą interpretowane jako wartość TRUE dla scalar_expression 2.Jeśli podzapytanie zwraca wartości 2 i 3, scalar_expression = ALL (podzapytanie) będzie interpretowane jako FAŁSZ, ponieważ niektóre wartości podzapytanie (wartość 3) czy spełnia kryteria wyrażenie.

Dla instrukcji, które wymagają scalar_expression porównywania pozytywnie tylko jedną wartość, która jest zwróconych przez podzapytanieZobacz NIEKTÓRE | WSZELKIE (Transact-SQL).

W tym temacie odnosi się do wszystkich, gdy jest używany z podzapytanie.WSZYSTKIE można również z Unii i Zaznacz.

Przykłady

Poniższy przykład tworzy procedura składowana , która określa, czy wszystkie składniki określonego SalesOrderID w AdventureWorks2008R2 bazy danych może być produkowana w określoną liczbę dni.W przykładzie użyto do utworzenia listy liczbę podzapytanie DaysToManufacture wartość dla wszystkich składników szczególnych SalesOrderIDi potwierdza, że wszystkie DaysToManufacture są w ciągu określonej liczby dni określonej.

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

Aby przetestować procedurę wykonać procedury za pomocą SalesOrderID 49080, która ma jeden składnik wymagających 2 dni i dwa składniki, które wymagają 0 dni.Pierwsza instrukcja poniżej spełnia kryteria.Nie jest drugą kwerendę.

EXECUTE DaysToBuild 49080, 2 ;

Oto zestaw wyników.

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

EXECUTE DaysToBuild 49080, 1 ;

Oto zestaw wyników.

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