Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Egy vagy több olyan predikátum kombinációja, amely a logikai operátorokat ANDhasználja , ORés NOT.
Transact-SQL szintaxis konvenciók
Syntax
Szintaxis az SQL Serverhez, az Azure SQL Database-hez és a felügyelt Azure SQL-példányhoz.
<search_condition> ::=
MATCH (<graph_search_pattern>) | <search_condition_without_match> | <search_condition> AND <search_condition>
<search_condition_without_match> ::=
{ [ NOT ] <predicate> | ( <search_condition_without_match> ) }
[ { AND | OR } [ NOT ] { <predicate> | ( <search_condition_without_match> ) } ]
[ ...n ]
<predicate> ::=
{ expression { = | <> | != | > | >= | !> | < | <= | !< } expression
| string_expression [ NOT ] LIKE string_expression
[ ESCAPE 'escape_character' ]
| expression [ NOT ] BETWEEN expression AND expression
| expression IS [ NOT ] NULL
| expression IS [ NOT ] DISTINCT FROM
| CONTAINS
( { column | * } , '<contains_search_condition>' )
| FREETEXT ( { column | * } , 'freetext_string' )
| expression [ NOT ] IN ( subquery | expression [ , ...n ] )
| expression { = | < > | != | > | >= | ! > | < | <= | ! < }
{ ALL | SOME | ANY } ( subquery )
| EXISTS ( subquery ) }
<graph_search_pattern> ::=
{ <node_alias> {
{ <-( <edge_alias> )- }
| { -( <edge_alias> )-> }
<node_alias>
}
}
<node_alias> ::=
node_table_name | node_table_alias
<edge_alias> ::=
edge_table_name | edge_table_alias
Az Azure Synapse Analytics és a párhuzamos adattárház szintaxisa.
< search_condition > ::=
{ [ NOT ] <predicate> | ( <search_condition> ) }
[ { AND | OR } [ NOT ] { <predicate> | ( <search_condition> ) } ]
[ ...n ]
<predicate> ::=
{ expression { = | <> | != | > | >= | < | <= } expression
| string_expression [ NOT ] LIKE string_expression
| expression [ NOT ] BETWEEN expression AND expression
| expression IS [ NOT ] NULL
| expression [ NOT ] IN (subquery | expression [ , ...n ] )
| expression [ NOT ] EXISTS (subquery)
}
Arguments
<search_condition>
Megadja az utasítás, lekérdezési kifejezés vagy részkikérdezés eredményhalmazában SELECT visszaadott sorok feltételeit. Utasítás esetén UPDATE a frissíteni kívánt sorokat adja meg. Utasítás esetén DELETE a törölni kívánt sorokat adja meg. A Transact-SQL utasítás keresési feltételében szereplő predikátumok száma nincs korlátozva.
<graph_search_pattern>
A gráfegyezés mintáját adja meg. A záradék argumentumairól további információt a HOL.VAN
NOT
Tagadja a predikátum által megadott logikai kifejezést. További információ: NOT.
AND
Két feltételt egyesít, és mindkét feltételt TRUEkiértékeliTRUE. További információ: AND.
OR
Két feltételt egyesít, és kiértékeli, hogy TRUE az egyik feltétel mikor.TRUE További információ: OR.
<predicate>
Egy kifejezés, amely visszaadja TRUE, FALSEvagy UNKNOWN. További információ: Predikátumok.
expression
Megadja az oszlopnevet, az állandót, a függvényt, a változót, a skaláris allekérdezéseket vagy az oszlopnevek, állandók és függvények bármely kombinációját, amelyet egy operátor vagy operátor vagy allekérdezés kapcsol össze. A kifejezés a kifejezést is tartalmazhatja CASE .
A nem Unicode sztringállandók és változók az adatbázis alapértelmezett rendezésének megfelelő kódlapot használják. Kódlapkonverziók akkor fordulhatnak elő, ha csak nem Unicode karakteradatokkal dolgozik, és a nem Unicode karakter típusú karakterre, varcharra és szövegre hivatkozik. Az SQL Server a nem Unicode-sztringállandókat és változókat a hivatkozott oszlop rendezésének megfelelő vagy a használatával COLLATEmegadott kódlapra alakítja át, ha ez a kódlap eltér az adatbázis alapértelmezett rendezésének megfelelő kódlaptól. Az új kódlapon nem található karakterek hasonló karakterre lesznek lefordítva, ha a legjobban illeszkedő megfeleltetés található, vagy más karaktereket a program az alapértelmezett helyettesítő karakterre ?konvertál.
Ha több kódlapon dolgozik, a karakterállandók a nagybetűvel Nelőtagosodhatnak, és Unicode-változók is használhatók a kódlapkonverziók elkerülése érdekében.
= operátor
A két kifejezés közötti egyenlőség teszteléséhez használt operátor.
<> operátor
Két olyan kifejezés feltételének tesztelésére használt operátor, amely nem egyenlő egymással.
!= operátor
Két olyan kifejezés feltételének tesztelésére használt operátor, amely nem egyenlő egymással.
> operátor
Az egyik kifejezés feltételének teszteléséhez használt operátor nagyobb, mint a másik.
>= operátor
Az egyik kifejezés feltételének tesztelésére használt operátor nagyobb vagy egyenlő a másik kifejezésnél.
!> operátor
Az egyik kifejezés feltételének tesztelésére használt operátor nem nagyobb, mint a másik kifejezés.
< operátor
Az egyik kifejezés feltételének teszteléséhez használt operátor kisebb, mint a másik.
<= operátor
Az egyik kifejezés feltételének tesztelésére használt operátor kisebb vagy egyenlő a másik kifejezéssel.
!< operátor
Az egyik kifejezés feltételének tesztelésére használt operátor nem kisebb, mint a másik kifejezés.
string_expression
Karakterek és helyettesítő karakterek sztringje.
[ NEM ] SZERET
Azt jelzi, hogy a következő karaktersztringet mintaegyezéssel kell használni. További információ: LIKE.
ESCAPE "escape_ karakter"
Lehetővé teszi, hogy a helyettesítő karakterek karaktersztringben kereshetők ahelyett, hogy helyettesítő karakterként működjenek. escape_character a helyettesítő karakter elé helyezett karakter, amely jelzi ezt a speciális használatot.
[ NEM ] KÖZÖTT
Egy befogadó értéktartományt határoz meg. A kezdő és a záró érték elválasztására használható AND . További információ: BETWEEN.
NEM [ ] NULLA
A használt kulcsszavaktól függően null értékeket vagy nem null értékű értékeket határoz meg. Egy bitenkénti vagy aritmetikai operátorral rendelkező kifejezés kiértékeli, hogy NULL az operandusok bármelyike.NULL
[ NEM ] KÜLÖNBÖZIK A
Összehasonlítja a két kifejezés egyenlőségét, és garantálja a valódi vagy hamis eredményt, még akkor is, ha az egyik vagy mindkét operandus.NULL További információért lásd: IS [NOT] DISTINCT FROM (Transact-SQL).
CONTAINS
A karakteralapú adatokat tartalmazó oszlopokban pontos vagy kevésbé pontos (homályos) egyezéseket keres egyetlen szóra és kifejezésre, a szavak egymástól meghatározott távolságon belüli közelségére és a súlyozott egyezésekre. Ez a beállítás csak utasításokkal SELECT használható. További információ: CONTAINS.
FREETEXT
Egyszerű természetes nyelvi lekérdezési formát biztosít, ha olyan oszlopokat keres, amelyek karakteralapú adatokat tartalmaznak a predikátumban szereplő pontos szavak helyett a jelentésnek megfelelő értékekre. Ez a beállítás csak utasításokkal SELECT használható. További információ: FREETEXT.
[ NEM ] BAN
Egy kifejezés keresését határozza meg attól függően, hogy a kifejezés szerepel-e a listában, vagy ki van-e zárva egy listából. A keresési kifejezés lehet állandó vagy oszlopnév, a lista pedig állandók vagy jellemzően alqueryk halmaza is lehet. Az értékek listáját zárójelek közé kell sorolni. További információ: IN.
subquery
Korlátozott SELECT utasításnak tekinthető, és hasonló az <query_expression> utasításhozSELECT. A ORDER BY záradék és a INTO kulcsszó nem engedélyezett. További információ: SELECT.
ALL
Összehasonlító operátorral és al lekérdezéssel használható. Azt adja TRUE<predicate> vissza, hogy az al lekérdezéshez lekért összes érték megfelel-e az összehasonlítási műveletnek, vagy FALSE ha nem minden érték felel meg az összehasonlításnak, vagy ha az al lekérdezés nem ad vissza sorokat a külső utasításnak. További információ: ALL.
{ NÉHÁNY | BÁRMILYEN }
Összehasonlító operátorral és al lekérdezéssel használható. Azokat az értékeket TRUE<predicate> adja vissza, amikor az al lekérdezéshez lekért értékek megfelelnek az összehasonlítási műveletnek, vagy FALSE ha az al lekérdezésben egyetlen érték sem felel meg az összehasonlításnak, vagy ha az al lekérdezés nem ad vissza sorokat a külső utasításnak. Ellenkező esetben a kifejezés a következő UNKNOWN: . További információ: SOME | BÁRMELYIK.
EXISTS
Az alquery által visszaadott sorok meglétének tesztelésére szolgáló alquery használatával. További információ: EXISTS.
Remarks
A logikai operátorok prioritási sorrendje (a NOT legmagasabb), majd a ANDkövetkező OR: . A zárójelekkel felülbírálhatja ezt a elsőbbséget egy keresési feltételben. A logikai operátorok kiértékelési sorrendje a lekérdezésoptimalizáló által választott lehetőségektől függően változhat. A logikai operátorok logikai értékeken való működésével kapcsolatos további információkért lásd: AND, OR és NOT.
Examples
A cikkben szereplő kódminták a AdventureWorks2025 vagy AdventureWorksDW2025 mintaadatbázist használják, amelyet a Microsoft SQL Server-minták és közösségi projektek kezdőlapjáról tölthet le.
A. A WHERE használata a LIKE és AZ ESCAPE szintaxissal
Az alábbi példa megkeresi azokat a sorokat, amelyekben az LargePhotoFileName oszlop karaktereket green_tartalmaz, és helyettesítő karakterként ESCAPE használja a _ beállítást. Ha nem adja meg a ESCAPE beállítást, a lekérdezés olyan leírási értékeket keres, amelyek tartalmazzák a szót green , és a karakteren kívül _ egyetlen karaktert is követnek.
USE AdventureWorks2022;
GO
SELECT *
FROM Production.ProductPhoto
WHERE LargePhotoFileName LIKE '%greena_%' ESCAPE 'a';
B. A WHERE és a LIKE szintaxis használata Unicode-adatokkal
Az alábbi példa a WHERE záradékot használja az Egyesült Államokon (US) kívüli és egy olyan város levelezési címének lekérésére, amelynek a neve a következővel Pakezdődik: .
USE AdventureWorks2022;
GO
SELECT AddressLine1,
AddressLine2,
City,
PostalCode,
CountryRegionCode
FROM Person.Address AS a
INNER JOIN Person.StateProvince AS s
ON a.StateProvinceID = s.StateProvinceID
WHERE CountryRegionCode NOT IN ('US')
AND City LIKE N'Pa%';
Példák: Azure Synapse Analytics and Analytics Platform System (PDW)
C. A WHERE használata a LIKE használatával
Az alábbi példa azokat a sorokat keresi, amelyekben az LastName oszlop karakterei andtalálhatók.
-- Uses AdventureWorks
SELECT EmployeeKey,
LastName
FROM DimEmployee
WHERE LastName LIKE '%and%';
D. A WHERE és a LIKE szintaxis használata Unicode-adatokkal
Az alábbi példa a záradékot használja Unicode-keresés WHERE végrehajtásához az LastName oszlopban.
-- Uses AdventureWorks
SELECT EmployeeKey,
LastName
FROM DimEmployee
WHERE LastName LIKE N'%and%';