T-SQL kullanarak verileri sorgulama
Azure Veri Gezgini sorgu düzenleyicisi, birincil sorgu dili olan Kusto sorgu diline (KQL) ek olarak T-SQL kullanımını destekler. Önerilen sorgu dili KQL olsa da, T-SQL KQL kullanamayan araçlar için yararlı olabilir.
Not
Yalnızca Veri Sorgu Dili (DQL) komutları desteklenir. Daha fazla bilgi için bkz . Kapsam.
T-SQL ile sorgulama
T-SQL sorgusu çalıştırmak için sorguya boş bir T-SQL açıklama satırıyla başlayın: --
. Söz --
dizimi, sorgu düzenleyicisine aşağıdaki sorguyu KQL değil T-SQL olarak yorumlamasını söyler.
Örnek
--
SELECT * FROM StormEvents
T-SQL to Kusto Sorgu Dili
Sorgu düzenleyicisi, T-SQL sorgularını KQL'ye çevirme özelliğini destekler. Bu çeviri özelliği, SQL hakkında bilgi sahibi olan ve KQL hakkında daha fazla bilgi edinmek isteyen kullanıcılar için yararlı olabilir.
T-SQL SELECT
deyiminin eşdeğer KQL değerini almak için sorgudan önce anahtar sözcüğünü explain
ekleyin. Çıkış, sorgunun KQL sürümü olacaktır. Bu sürüm, ilgili KQL söz dizimini ve kavramlarını anlamak için yararlı olabilir.
Sorgu düzenleyicisine aşağıdaki sorguyu KQL değil, T-SQL olarak yorumlamasını söylemek için T-SQL açıklama satırıyla --
T-SQL sorgularının başına yazılmaya dikkat edin.
Örnek
--
explain
SELECT top(10) *
FROM StormEvents
ORDER BY DamageProperty DESC
Çıktı
StormEvents
| project
StartTime,
EndTime,
EpisodeId,
EventId,
State,
EventType,
InjuriesDirect,
InjuriesIndirect,
DeathsDirect,
DeathsIndirect,
DamageProperty,
DamageCrops,
Source,
BeginLocation,
EndLocation,
BeginLat,
BeginLon,
EndLat,
EndLon,
EpisodeNarrative,
EventNarrative,
StormSummary
| sort by DamageProperty desc nulls first
| take int(10)
Depolanan işlevleri çalıştırma
T-SQL kullanırken, en iyi duruma getirilmiş KQL sorguları oluşturmanızı ve bunları depolanmış işlevlerde kapsüllemenizi öneririz, bunun yapılması T-SQL kodunu en aza indirir ve performansı artırabilir. Örneğin, aşağıdaki tabloda açıklandığı gibi bir saklı işleviniz varsa, kod örneğinde gösterildiği gibi yürütebilirsiniz.
Veri Akışı Adı | Parametreler | Gövde | Klasör | DocString |
---|---|---|---|---|
MyFunction | (myLimit: long) | {StormEvents | take myLimit} | MyFolder | Parametresi olan demo işlevi |
SELECT * FROM kusto.MyFunction(10)
Not
Depolanan işlevlerle öykünmüş SQL sistemi saklı yordamları arasında ayrım yapmak için, saklı işlevleri şemaya açık bir başvuruyla yürütün kusto
. Örnekte saklı işlev kullanılarak kusto.Myfunction
yürütülür.
İstek özelliklerini ayarlama
İstek özellikleri bir sorguyu yürütme ve sonuçları döndürmeyi denetler. T-SQL ile istek özelliklerini ayarlamak için sorgunuzun başına aşağıdaki söz dizimiyle bir veya daha fazla deyim ekleyin:
Sözdizimi
DECLARE
@__kql_set_
requestPropertyName tür =
değeri;
Parametreler
Ad | Tür | Zorunlu | Açıklama |
---|---|---|---|
requestPropertyName | string |
✔️ | Ayarlanacağı istek özelliğinin adı. |
type | string |
✔️ | Değerin T-SQL veri türü . |
value | sayıl | ✔️ | İstek özelliğine atanacak değer. |
Not
- İki deyim noktalı virgülle ayrılmalıdır ve sorgudan önce boş satır olmamalıdır.
- İstek özellikleri yalnızca hemen izleyen tablosal ifade deyimlerine uygulanır.
Örnekler
Aşağıdaki tabloda, T-SQL ile istek özelliklerinin nasıl ayarlanacağına ilişkin örnekler gösterilmektedir.
request özelliği | Örnek |
---|---|
query_datetimescope_to |
DECLARE @__kql_set_query_datetimescope_to DATETIME = '2023-03-31 03:02:01'; |
request_app_name |
DECLARE @__kql_set_request_app_name NVARCHAR = 'kuku'; |
query_results_cache_max_age |
DECLARE @__kql_set_query_results_cache_max_age TIME = '00:05:00'; |
truncationmaxsize |
DECLARE @__kql_set_truncationmaxsize BIGINT = 4294967297; |
maxoutputcolumns |
DECLARE @__kql_set_maxoutputcolumns INT = 3001; |
notruncation |
DECLARE @__kql_set_notruncation BIT = 1; |
norequesttimeout |
DECLARE @__kql_set_norequesttimeout BIT = 0; |
KQL ile istek özelliklerini ayarlamak için bkz . set deyimi.
Kapsam
Azure Veri Gezgini, T-SQL için sınırlı destek sunar. Aşağıdaki tabloda desteklenmeyen veya kısmen desteklenen T-SQL deyimleri ve özellikleri özetlenmektedir.
T-SQL deyimi veya özelliği | Açıklama |
---|---|
CREATE , INSERT , DROP ve ALTER |
Desteklenmez |
Şema veya veri değişiklikleri | Desteklenmez |
ANY , ALL ve EXISTS |
Desteklenmez |
WITHIN GROUP |
Desteklenmez |
TOP PERCENT |
Desteklenmez |
TOP WITH TIES |
Normal olarak değerlendirildi TOP |
TRUNCATE |
En yakın değeri verir |
SELECT * |
Sütun sırası beklentiden farklı olabilir. Sıra önemliyse sütun adlarını kullanın. |
AT TIME ZONE |
Desteklenmez |
SQL imleçleri | Desteklenmez |
Bağıntılı alt sorgular | Desteklenmez |
Özyinelemeli CTE'ler | Desteklenmez |
Dinamik deyimler | Desteklenmez |
Akış denetimi deyimleri | Yalnızca IF THEN ELSE ve ELSE için THEN aynı şemaya sahip deyimler desteklenir. |
Yinelenen sütun adları | Desteklenmiyor. Özgün ad bir sütun için korunur. |
Veri türleri | Döndürülen veriler sql server türünden farklı olabilir. Örneğin, TINYINT SMALLINT Azure Veri Gezgini'de eşdeğeri yoktur ve veya INT16 yerine BYTE veya INT64 olarak INT32 döndürülebilir. |
İlgili içerik
- Azure Veri Gezgini'da SQL Server öykünmesi hakkında bilgi edinin
- Kusto Sorgu Dili için SQL kullanma