Udostępnij za pomocą


WSZYSCY (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Porównuje wartość skalarną z pojedynczym zestawem wartości.

Transact-SQL konwencje składni

Syntax

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

Arguments

scalar_expression
Jest dowolnym prawidłowym wyrażeniem.

{ = | <> | != | > | >= | !> | < | <= | !< }
Jest operatorem porównania.

subquery
Jest podzapytaniem, który zwraca zestaw wyników jednej kolumny. Typ danych zwróconej kolumny musi być tym samym typem danych co typ danych scalar_expression.

Jest ograniczoną instrukcją SELECT, w której klauzula ORDER BY i słowo kluczowe INTO nie są dozwolone.

Typy wyników

Boolean

Wartość wynikowa

Zwraca wartość TRUE, gdy określone porównanie ma wartość TRUE dla wszystkich par (scalar_expression, x), gdy x jest wartością w zestawie z jedną kolumną. W przeciwnym razie zwraca wartość FALSE.

Remarks

Funkcja ALL wymaga , aby scalar_expression porównać dodatnio z każdą wartością zwracaną przez podzapytywanie. Jeśli na przykład podzapytywanie zwraca wartości 2 i 3, scalar_expression<= ALL (podzapytywanie) będzie oceniać wartość TRUE dla scalar_expression 2. Jeśli podzapytywanie zwraca wartości 2 i 3, scalar_expression = ALL (podzapytywanie) zostanie obliczone jako FALSE, ponieważ niektóre wartości podzapytania (wartość 3) nie spełniają kryteriów wyrażenia.

Instrukcje, które wymagają , aby scalar_expression zostały porównane pozytywnie z tylko jedną wartością zwracaną przez podzapytywanie, zobacz SOME | ANY (Transact-SQL).

Aby porównać równość dwóch wyrażeń i zagwarantować wynik true lub false, zobacz IS [NOT] DISTINCT FROM (Transact-SQL).

Ten artykuł odnosi się do WSZYSTKICH, gdy jest używany z podzapytaniem. Wszystkie mogą być również używane z funkcją UNION i SELECT.

Examples

Poniższy przykład tworzy procedurę przechowywaną, która określa, czy wszystkie komponenty określone SalesOrderID w bazie AdventureWorks2025 mogą zostać wyprodukowane w określonej liczbie dni. W przykładzie użyto podzapytania, aby utworzyć listę wartości DaysToManufacture dla wszystkich składników określonego SalesOrderIDelementu , a następnie potwierdzi, że wszystkie DaysToManufacture wartości znajdują się w określonej liczbie dni.

-- Uses AdventureWorks

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 can''t be manufactured in specified number of days or less.' ;  

Aby przetestować procedurę, wykonaj procedurę przy użyciu SalesOrderID 49080elementu , który ma jeden składnik wymagający 2 dni i dwa składniki, które wymagają 0 dni. Pierwsza poniższa instrukcja spełnia kryteria. Drugie zapytanie nie.

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 can't be manufactured in specified number of days or less.

Zobacz także