Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Porovná skalární hodnotu se sadou hodnot s jedním sloupcem.
Syntax
scalar_expression { = | <> | != | > | >= | !> | < | <= | !< } ALL ( subquery )
Arguments
scalar_expression
Je libovolný platný výraz.
{ = | <> | != | > | >= | !> | < | <= | !< }
Je relační operátor.
subquery
Je poddotaz, který vrací sadu výsledků jednoho sloupce. Datový typ vráceného sloupce musí být stejný datový typ jako datový typ scalar_expression.
Je omezený příkaz SELECT, ve kterém není povolená klauzule ORDER BY a klíčové slovo INTO.
Typy výsledků
Boolean
Hodnota výsledku
Vrátí hodnotu PRAVDA, pokud je zadané porovnání pravda pro všechny páry (scalar_expression, x), pokud x je hodnota v sadě s jedním sloupcem. V opačném případě vrátí hodnotu FALSE.
Remarks
FUNKCE ALL vyžaduje , aby scalar_expression porovnávala kladně s každou hodnotou vrácenou poddotazem. Pokud například poddotaz vrátí hodnoty 2 a 3, scalar_expression<= ALL (poddotaz) se vyhodnotí jako PRAVDA pro scalar_expression 2. Pokud poddotaz vrátí hodnoty 2 a 3, scalar_expression = ALL (poddotaz) by se vyhodnotil jako NEPRAVDA, protože některé hodnoty poddotazů (hodnota 3) nesplní kritéria výrazu.
Příkazy, které vyžadují , aby scalar_expression porovnat pozitivně pouze s jednou hodnotou vrácenou poddotazem, viz ČÁST | ANY (Transact-SQL).
Chcete-li porovnat rovnost dvou výrazů a zaručit pravdivý nebo nepravdivý výsledek, přečtěte si článek IS [NOT] DISTINCT FROM (Transact-SQL).
Tento článek odkazuje na VŠE, pokud se používá s poddotazem. Funkce ALL se dá použít také s union a SELECT.
Examples
Následující příklad vytváří uloženou proceduru, která určuje, zda všechny komponenty specifikované SalesOrderID v databázi AdventureWorks2025 lze vyrobit během stanoveného počtu dnů. V příkladu se pomocí poddotaz vytvoří seznam počtu DaysToManufacture hodnot pro všechny součásti konkrétního objektu SalesOrderIDa pak potvrdí, že všechny hodnoty DaysToManufacture jsou v zadaném počtu dnů.
-- 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.' ;
Chcete-li otestovat proceduru, spusťte proceduru pomocí , která má jednu komponentu SalesOrderID 49080vyžadující 2 dny a dvě komponenty, které vyžadují 0 dnů. První následující příkaz splňuje kritéria. Druhý dotaz ne.
EXECUTE DaysToBuild 49080, 2 ;
Tady je soubor výsledků.
All items for this order can be manufactured in specified number of days or less.
EXECUTE DaysToBuild 49080, 1 ;
Tady je soubor výsledků.
Some items for this order can't be manufactured in specified number of days or less.