Eseguire query sui dati usando T-SQL
L'editor di query di Azure Esplora dati supporta l'uso di T-SQL oltre al relativo linguaggio di query primario, il linguaggio di query Kusto (KQL). Sebbene KQL sia il linguaggio di query consigliato, T-SQL può essere utile per gli strumenti che non possono usare KQL.
Nota
Sono supportati solo i comandi DQL (Data Query Language). Per altre informazioni, vedere Copertura.
Eseguire query con T-SQL
Per eseguire una query T-SQL, iniziare la query con una riga di commento T-SQL vuota: --
. La --
sintassi indica all'editor di query di interpretare la query seguente come T-SQL e non KQL.
Esempio
--
SELECT * FROM StormEvents
T-SQL da Linguaggio di query Kusto
L'editor di query supporta la possibilità di tradurre le query T-SQL in KQL. Questa funzionalità di traduzione può essere utile per gli utenti che hanno familiarità con SQL e vogliono altre informazioni su KQL.
Per ottenere l'equivalente KQL per un'istruzione T-SQL SELECT
, aggiungere la parola chiave explain
prima della query. L'output sarà la versione KQL della query, che può essere utile per comprendere la sintassi e i concetti KQL corrispondenti.
Ricordarsi di prefazione delle query T-SQL con una riga di commento T-SQL, per --
indicare all'editor di query di interpretare la query seguente come T-SQL e non KQL.
Esempio
--
explain
SELECT top(10) *
FROM StormEvents
ORDER BY DamageProperty DESC
Output
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)
Eseguire funzioni archiviate
Quando si usa T-SQL, è consigliabile creare query KQL ottimizzate e incapsularle nelle funzioni archiviate, in quanto ciò riduce al minimo il codice T-SQL e può aumentare le prestazioni. Ad esempio, se si dispone di una funzione archiviata come descritto nella tabella seguente, è possibile eseguirla come illustrato nell'esempio di codice.
Nome | Parametri | Corpo | Cartella | DocString |
---|---|---|---|---|
Myfunction | (myLimit: long) | {StormEvents | take myLimit} | MyFolder | Funzione demo con parametro |
SELECT * FROM kusto.MyFunction(10)
Nota
Per distinguere le funzioni archiviate e le stored procedure del sistema SQL emulato, eseguire funzioni archiviate con un riferimento esplicito allo kusto
schema. Nell'esempio la funzione archiviata viene eseguita usando kusto.Myfunction
.
Impostare le proprietà della richiesta
Le proprietà della richiesta controllano il modo in cui una query viene eseguita e restituisce i risultati. Per impostare le proprietà della richiesta con T-SQL, prefazione della query con una o più istruzioni con la sintassi seguente:
Sintassi
DECLARE
@__kql_set_
valore del tipo=
requestPropertyName;
Parametri
Nome | Tipo | Obbligatoria | Descrizione |
---|---|---|---|
requestPropertyName | string |
✔️ | Nome della proprietà request da impostare. |
type | string |
✔️ | Tipo di dati T-SQL del valore. |
value | scalare | ✔️ | Valore da assegnare alla proprietà request. |
Nota
- Due istruzioni devono essere separate da un punto e virgola e non deve essere presente alcuna riga vuota prima della query.
- Le proprietà della richiesta si applicano solo alle istruzioni dell'espressione tabulare che seguono immediatamente.
Esempio
La tabella seguente illustra esempi per come impostare le proprietà della richiesta con T-SQL.
Request, proprietà | Esempio |
---|---|
query_datetimescope_to |
DECLARE @__kql_set_query_datetimescope_to DATETIME = '2023-03-31 03:02:01'; |
request_app_name |
DICHIARA @__kql_set_request_app_name NVARCHAR = 'kuku'; |
query_results_cache_max_age |
DICHIARA @__kql_set_query_results_cache_max_age TIME = '00:05:00'; |
truncationmaxsize |
DICHIARAre @__kql_set_truncationmaxsize BIGINT = 4294967297; |
maxoutputcolumns |
DICHIARA @__kql_set_maxoutputcolumns INT = 3001; |
notruncation |
DICHIARAre @__kql_set_notruncation BIT = 1; |
norequesttimeout |
DICHIARAre @__kql_set_norequesttimeout BIT = 0; |
Per impostare le proprietà della richiesta con KQL, vedere l'istruzione set.
Copertura
Azure Esplora dati offre un supporto limitato per T-SQL. Nella tabella seguente vengono descritte le istruzioni T-SQL e le funzionalità non supportate o parzialmente supportate.
Istruzione o funzionalità T-SQL | Descrizione |
---|---|
CREATE , INSERT , DROP e ALTER |
Non supportato |
Modifiche dello schema o dei dati | Non supportato |
ANY , ALL e EXISTS |
Non supportato |
WITHIN GROUP |
Non supportato |
TOP PERCENT |
Non supportato |
TOP WITH TIES |
Valutata come regolare TOP |
TRUNCATE |
Restituisce il valore più vicino |
SELECT * |
L'ordine di colonna può essere diverso dalle aspettative. Usare i nomi di colonna se l'ordine è importante. |
AT TIME ZONE |
Non supportato |
Cursori SQL | Non supportato |
Sottoquery correlate | Non supportato |
CTE ricorsive | Non supportato |
Istruzioni dinamiche | Non supportato |
Istruzioni di controllo del flusso | Sono supportate solo IF THEN ELSE istruzioni con uno schema identico per THEN e.ELSE |
Nomi di colonna duplicati | Non supportato. Il nome originale viene mantenuto per una colonna. |
Tipi di dati | I dati restituiti possono differire dal tipo SQL Server. Ad esempio, TINYINT e SMALLINT non hanno equivalenti in Azure Esplora dati e possono restituire come INT32 o INT64 INT16 anziché BYTE . |
Contenuti correlati
- Informazioni sull'emulazione SQL Server in Azure Esplora dati
- Usare SQL per Linguaggio di query Kusto foglio di controllo
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per