Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric Preview
Vergelijkt een scalaire waarde met een set waarden met één kolom.
Transact-SQL syntaxis-conventies
Syntax
scalar_expression { = | <> | != | > | >= | !> | < | <= | !< } ALL ( subquery )
Arguments
scalar_expression
Is een geldige expressie.
{ = | <> | != | > | >= | !> | < | <= | !< }
Is een vergelijkingsoperator.
subquery
Is een subquery die een resultatenset van één kolom retourneert. Het gegevenstype van de geretourneerde kolom moet hetzelfde gegevenstype zijn als het gegevenstype van scalar_expression.
Is een beperkte SELECT-instructie waarin de ORDER BY-component en het INTO-trefwoord niet zijn toegestaan.
Result types
Boolean
Result value
Retourneert TRUE wanneer de opgegeven vergelijking TRUE is voor alle paren (scalar_expression, x), wanneer x een waarde is in de set met één kolom. Anders wordt ONWAAR geretourneerd.
Remarks
ALL vereist dat de scalar_expression positief vergelijkt met elke waarde die wordt geretourneerd door de subquery. Als de subquery bijvoorbeeld waarden van 2 en 3 retourneert, wordt scalar_expression<= ALL (subquery) geëvalueerd als WAAR voor een scalar_expression van 2. Als de subquery waarden van 2 en 3 retourneert, zou scalar_expression = ALL (subquery) ONWAAR zijn, omdat sommige waarden van de subquery (de waarde 3) niet voldoen aan de criteria van de expressie.
Zie SOME | voor instructies waarvoor de scalar_expression positief moet worden vergeleken met slechts één waarde die wordt geretourneerd door de subquery . ANY (Transact-SQL).
Als u de gelijkheid van twee expressies wilt vergelijken en een waar of onwaar resultaat wilt garanderen, raadpleegt u IS [NIET] DISTINCT FROM (Transact-SQL).
Dit artikel verwijst naar ALL wanneer deze wordt gebruikt met een subquery. ALL kan ook worden gebruikt met UNION en SELECT.
Examples
In het volgende voorbeeld wordt een opgeslagen procedure gemaakt waarmee wordt bepaald of alle onderdelen van een opgegeven SalesOrderID in de AdventureWorks2022-database in het opgegeven aantal dagen kunnen worden vervaardigd. In het voorbeeld wordt een subquery gebruikt om een lijst te maken met het aantal DaysToManufacture waarden voor alle onderdelen van de specifieke SalesOrderID, en bevestigt vervolgens dat alle DaysToManufacture waarden binnen het opgegeven aantal dagen zijn opgegeven.
-- 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.' ;
Als u de procedure wilt testen, voert u de procedure uit met behulp van de SalesOrderID 49080, die één onderdeel heeft dat dagen vereist 2 en twee onderdelen die 0 dagen vereisen. De eerste instructie hieronder voldoet aan de criteria. De tweede query niet.
EXECUTE DaysToBuild 49080, 2 ;
Hier is het resultatenoverzicht.
All items for this order can be manufactured in specified number of days or less.
EXECUTE DaysToBuild 49080, 1 ;
Hier is het resultatenoverzicht.
Some items for this order can't be manufactured in specified number of days or less.