Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'teki SQL analiz uç noktası
Microsoft Fabric'teki ambar
Microsoft Fabric'teki SQL veritabanı
, ANDve ORmantıksal işleçlerini NOTkullanan bir veya daha fazla koşulun birleşimi.
Transact-SQL söz dizimi kuralları
Syntax
SQL Server, Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği için söz dizimi.
<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
Azure Synapse Analytics ve Paralel Veri Ambarı söz dizimi.
< 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>
Bir SELECT deyim, sorgu ifadesi veya alt sorgu için sonuç kümesinde döndürülen satırların koşullarını belirtir. Bir UPDATE deyim için güncelleştirilecek satırları belirtir. Bir DELETE deyim için silinecek satırları belirtir. Transact-SQL deyimi arama koşuluna dahil edilebilecek koşul sayısıyla ilgili bir sınır yoktur.
<graph_search_pattern>
Graf eşleştirme desenini belirtir. Bu yan tümcenin bağımsız değişkenleri hakkında daha fazla bilgi için bkz . KAÇINCI
NOT
Koşul tarafından belirtilen Boole ifadesini geçersizleştirir. Daha fazla bilgi için bkz. DEĞİl.
AND
İki koşulu birleştirir ve her iki koşul TRUEda olduğunda değerini değerlendirirTRUE. Daha fazla bilgi için bkz. AND.
OR
İki koşulu birleştirir ve iki koşuldan biri olduğunda TRUEdeğerini değerlendirirTRUE. Daha fazla bilgi için bkz. OR.
<predicate>
, TRUEveya FALSEdöndüren UNKNOWNbir ifade. Daha fazla bilgi için bkz . Koşul.
expression
Bir sütun adı, sabit, işlev, değişken, skaler alt sorgu veya bir işleç ya da işleç ya da alt sorgu tarafından bağlanan sütun adlarının, sabitlerin ve işlevlerin herhangi bir bileşimini belirtir. İfade, ifadeyi CASE de içerebilir.
Unicode olmayan dize sabitleri ve değişkenleri, veritabanının varsayılan harmanlamasına karşılık gelen kod sayfasını kullanır. Kod sayfası dönüştürmeleri yalnızca Unicode olmayan karakter verileriyle çalışırken ve Unicode olmayan karakter veri türlerine char, varchar ve metin başvurduğunda oluşabilir. SQL Server, Unicode olmayan dize sabitlerini ve değişkenlerini başvurulan sütunun harmanlamasına karşılık gelen veya kullanılarak COLLATEbelirtilen kod sayfasına dönüştürür. Bu kod sayfası veritabanının varsayılan harmanlamasına karşılık gelen kod sayfasından farklıysa. Yeni kod sayfasında bulunmayan tüm karakterler, en uygun eşleme bulunabiliyorsa veya varsayılan değiştirme karakterine dönüştürülürse benzer bir karaktere ?çevrilir.
Birden çok kod sayfasıyla çalışırken, karakter sabitlerine büyük harf Nön eki eklenebilir ve kod sayfası dönüştürmelerini önlemek için Unicode değişkenleri kullanılabilir.
= operatör
İki ifade arasındaki eşitliği test etmek için kullanılan işleç.
<> operatör
İki ifadenin birbirine eşit olmaması durumunu test etmek için kullanılan işleç.
!= operatör
İki ifadenin birbirine eşit olmaması durumunu test etmek için kullanılan işleç.
> operatör
Bir ifadenin koşulunun diğerinden büyük olduğunu test etmek için kullanılan işleç.
>= operatör
Bir ifadenin koşulunun diğer ifadeden büyük veya diğer ifadeye eşit olduğunu test etmek için kullanılan işleç.
!> operatör
Bir ifadenin koşulunun diğer ifadeden büyük olmamasını test etmek için kullanılan işleç.
< operatör
Bir ifadenin diğerinden küçük olma durumunu test etmek için kullanılan işleç.
<= operatör
Bir ifadenin koşulunun diğer ifadeden küçük veya buna eşit olduğunu test etmek için kullanılan işleç.
!< operatör
Bir ifadenin koşulunun diğer ifadeden küçük olmamasını test etmek için kullanılan işleç.
string_expression
Karakter ve joker karakter dizesi.
[ DEĞİl ] GİBİ
Sonraki karakter dizesinin desen eşleştirme ile kullanılacağını gösterir. Daha fazla bilgi için bkz. LIKE.
ESCAPE 'escape_ karakteri'
Joker karakter işlevi yerine bir karakter dizesinde joker karakter aranmasına izin verir. escape_character , bu özel kullanımı belirtmek için joker karakterin önüne konan karakterdir.
[ DEĞİl ] ARASINDA
Kapsayıcı bir değer aralığı belirtir. Başlangıç ve bitiş değerlerini ayırmak için kullanın AND . Daha fazla bilgi için bkz. BETWEEN.
[ DEĞİL DEYİLİR
Kullanılan anahtar sözcüklere bağlı olarak null değerler için veya null olmayan değerler için bir arama belirtir. Bit düzeyinde veya aritmetik işleci olan bir ifade, işlenenlerden NULLherhangi birinin olup olmadığını değerlendirirNULL.
[ FARKLI DEĞILDIR
İki ifadenin eşitliğini karşılaştırır ve bir veya iki işlenen de olsa doğru veya yanlış sonucu garanti eder NULL. Daha fazla bilgi için bkz: IS [NOT] DISTINCT FROM (Transact-SQL).
CONTAINS
Karakter tabanlı veriler içeren sütunlarda, tek sözcük ve tümceciklerle tam veya daha az kesin (benzer) eşleşmeler, sözcüklerin belirli bir uzaklık içindeki yakınlığı ve ağırlıklı eşleşmeler arar. Bu seçenek yalnızca deyimlerle SELECT kullanılabilir. Daha fazla bilgi için bkz. CONTAINS.
FREETEXT
Koşuldaki tam sözcükler yerine anlamla eşleşen değerler için karakter tabanlı veriler içeren sütunlarda arama yaparak basit bir doğal dil sorgusu biçimi sağlar. Bu seçenek yalnızca deyimlerle SELECT kullanılabilir. Daha fazla bilgi için bkz. FREETEXT.
[ DEĞİl ] İÇİNDE
İfadenin listeye dahil edilip edilmediğine göre ifade aramasını belirtir. Arama ifadesi bir sabit veya sütun adı olabilir ve liste bir dizi sabit veya daha genellikle bir alt sorgu olabilir. Değer listesini ayraç içine alın. Daha fazla bilgi için bkz. IN.
subquery
Kısıtlı SELECT bir deyim olarak kabul edilebilir ve deyimindekine <query_expression>SELECT benzer.
ORDER BY Yan tümcesine ve anahtar sözcüğüne INTO izin verilmez. Daha fazla bilgi için bkz. SELECT.
ALL
Karşılaştırma işleci ve alt sorgu ile kullanılır.
TRUE
<predicate> Alt sorgu için alınan tüm değerlerin karşılaştırma işlemini karşılaması veya FALSE tüm değerlerin karşılaştırmayı karşılamaması veya alt sorgunun dış deyime satır döndürmemesi için döndürür. Daha fazla bilgi için bkz. ALL.
{ BAZI | ANY }
Karşılaştırma işleci ve alt sorgu ile kullanılır.
TRUE Alt sorgu için alınan herhangi bir değerin karşılaştırma işlemini ne zaman karşıladığını veya <predicate> alt sorgudaki hiçbir değerin karşılaştırmayı karşılamadığını veya alt sorgunun dış deyime hiçbir satır döndürmediğinde değerini döndürürFALSE. Aksi takdirde ifadesi şeklindedir UNKNOWN. Daha fazla bilgi için bkz . SOME | HERHANGI BIRI.
EXISTS
Alt sorgu tarafından döndürülen satırların varlığını test etmek için bir alt sorguyla birlikte kullanılır. Daha fazla bilgi için bkz . EXISTS.
Remarks
Mantıksal işleçler NOT için öncelik sırası (en yüksek), ardından ANDve ardından ORolur. Parantezler, bir arama koşulunda bu önceliği geçersiz kılmak için kullanılabilir. Mantıksal işleçlerin değerlendirilme sırası, sorgu iyileştiricisi tarafından yapılan seçimlere bağlı olarak değişebilir. Mantıksal işleçlerin mantıksal değerler üzerinde nasıl çalıştığı hakkında daha fazla bilgi için bkz. AND, OR ve NOT.
Examples
Bu makaledeki kod örnekleri, AdventureWorks2025 giriş sayfasından indirebileceğiniz AdventureWorksDW2025 veya örnek veritabanını kullanır.
A. LIKE ve ESCAPE söz dizimiyle WHERE kullanma
Aşağıdaki örnek, sütunda karakterlerin bulunduğu LargePhotoFileName satırları arar ve joker karakter olduğundan green_ seçeneğini kullanırESCAPE._ Seçeneğini belirtmezseniz ESCAPE , sorgu sözcüğü green içeren açıklama değerlerini ve ardından karakter dışında _ tek bir karakteri arar.
USE AdventureWorks2022;
GO
SELECT *
FROM Production.ProductPhoto
WHERE LargePhotoFileName LIKE '%greena_%' ESCAPE 'a';
B. Unicode verileriyle WHERE ve LIKE söz dizimlerini kullanma
Aşağıdaki örnek, Amerika Birleşik Devletleri (WHERE) dışındaki ve adı ile USbaşlayan bir şehirde bulunan tüm şirketlerin posta adresini almak için yan tümcesini kullanırPa.
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%';
Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)
C. LIKE ile WHERE kullanma
Aşağıdaki örnek, sütunda karakterlerin LastNameandbulunduğu satırları arar.
-- Uses AdventureWorks
SELECT EmployeeKey,
LastName
FROM DimEmployee
WHERE LastName LIKE '%and%';
D. Unicode verileriyle WHERE ve LIKE söz dizimlerini kullanma
Aşağıdaki örnek, sütunda WHERE Unicode araması yapmak için yan tümcesini LastName kullanır.
-- Uses AdventureWorks
SELECT EmployeeKey,
LastName
FROM DimEmployee
WHERE LastName LIKE N'%and%';
İlgili içerik
- Toplama İşlevleri (Transact-SQL)
- CASE (Transact-SQL)
- CONTAINSTABLE (Transact-SQL)
- İmleçler (Transact-SQL)
- SILME (Transact-SQL)
- İfadeler (Transact-SQL)
- FREETEXTTABLE (Transact-SQL)
- FROM ifadesi artı JOIN, APPLY, PIVOT (Transact-SQL)
- İşleçler (Transact-SQL)
- GÜNCELLEME (Transact-SQL)