Megosztás a következőn keresztül:


MIND (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Egy skaláris értéket hasonlít össze egy egyoszlopos értékkészlettel.

Transact-SQL szintaxis konvenciók

Syntax

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

Arguments

scalar_expression
Bármely érvényes kifejezés.

{ = | <> | != | > | >= | !> | < | <= | !< }
Összehasonlító operátor.

subquery
Egy olyan al lekérdezés, amely egy oszlop eredményhalmazát adja vissza. A visszaadott oszlop adattípusának meg kell egyeznie a scalar_expression adattípusával.

Egy korlátozott SELECT utasítás, amelyben az ORDER BY záradék és az INTO kulcsszó nem engedélyezett.

Eredménytípusok

Boolean

Eredményérték

IGAZ értéket ad vissza, ha a megadott összehasonlítás igaz az összes párra (scalar_expression, x), ha x az egyoszlopos készlet értéke. Ellenkező esetben HAMIS értéket ad vissza.

Remarks

Az ALL megköveteli, hogy a scalar_expression pozitívan hasonlítson össze minden olyan értékkel, amelyet az alkérelmek visszaadnak. Ha például az alkérdezés 2 és 3 értéket ad vissza, akkor scalar_expression<= ALL (subquery) értéke IGAZ lesz a 2-scalar_expression . Ha az al lekérdezés 2 és 3 értéket ad vissza, scalar_expression = AZ ÖSSZES (subquery) értéke HAMIS, mert az alquery egyes értékei (a 3 értéke) nem felelnek meg a kifejezés feltételeinek.

Az olyan utasítások esetében, amelyek megkövetelik, hogy a scalar_expression pozitívan hasonlítson össze csak egy olyan értékkel, amelyet az alquery visszaadott, tekintse meg a SOME | ANY (Transact-SQL).

A két kifejezés egyenlőségének összehasonlításához és a valódi vagy hamis eredmény biztosításához lásd: IS [NOT] DISTINCT FROM (Transact-SQL).

Ez a cikk az ALL kifejezésre hivatkozik, ha egy alqueryvel együtt használják. AZ ALL használható az UNION és a SELECT használatával is.

Examples

Az alábbi példa egy tárolt eljárást hoz létre, amely meghatározza, hogy az AdventureWorks2025 adatbázisban megadott SalesOrderID összes komponens előle lehet állítani a megadott napszám alatt. A példa egy alquery használatával hozza létre az DaysToManufacture adott SalesOrderIDösszetevő összes összetevőjének értékeinek listáját, majd megerősíti, hogy az DaysToManufacture összes a megadott napon belül van.

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

Az eljárás teszteléséhez hajtsa végre az eljárást az SalesOrderID 49080egyik napokat igénylő 2 összetevővel és két, 0 napot igénylő összetevővel. Az alábbi első állítás megfelel a feltételeknek. A második lekérdezés nem.

EXECUTE DaysToBuild 49080, 2 ;  

Itt van az eredmények összessége.

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

EXECUTE DaysToBuild 49080, 1 ;  

Itt van az eredmények összessége.

Some items for this order can't be manufactured in specified number of days or less.

Lásd még