Cheatsheet voor conversie van SQL naar Kusto

Kusto ondersteunt een subset van de SQL taal. Zie de lijst met SQL bekende problemen voor de volledige lijst met niet-ondersteunde functies.

De primaire taal voor interactie met Kusto is KQL (Kusto Query Language). Om de overgang en leerervaring gemakkelijker te maken, kunt u Kusto gebruiken om uw SQL te vertalen naar KQL. Verzend een SQL query naar Kusto en voorvoegsel met het werkwoord 'EXPLAIN'.

Bijvoorbeeld:

EXPLAIN 
SELECT COUNT_BIG(*) as C FROM StormEvents 
Query’s uitvoeren
StormEvents
| C=count() samenvatten
| project C

Cheatsheet voor conversie van SQL naar Kusto

In de onderstaande tabel ziet u voorbeeldquery's in SQL hun KQL-equivalenten.

Categorie SQL query Kusto-query
Gegevens selecteren in tabel SELECT * FROM dependencies dependencies
-- SELECT name, resultCode FROM dependencies dependencies | project name, resultCode
-- SELECT TOP 100 * FROM dependencies dependencies | take 100
Null-evaluatie SELECT * FROM dependencies
WAARBIJ resultCode NIET NULL IS
Afhankelijkheden
| where isnotnull(resultCode)
Vergelijkingsoperators (datum) SELECT * FROM dependencies
WHERE timestamp > getdate()-1
Afhankelijkheden
| where timestamp > ago(1d)
-- SELECT * FROM dependencies
WHERE timestamp BETWEEN ... EN...
Afhankelijkheden
| where timestamp > datetime(2016-10-01)
  en timestamp < = datetime(2016-11-01)
Vergelijkingsoperators (tekenreeks) SELECT * FROM dependencies
WHERE-type = "Azure Blob"
Afhankelijkheden
| where type == "Azure blob"
-- -- subtekenreeks
SELECT * FROM dependencies
WHERE-type, zoals %blob%
Subtekenreeks
Afhankelijkheden
| waarbij type 'blob' bevat
-- -- jokerteken
SELECT * FROM dependencies
WHERE-type, zoals 'Azure%'
Wildcard
Afhankelijkheden
| where type startswith "Azure"
Of
Afhankelijkheden
| waarbij type overeenkomt met regex "^Azure.*"
Vergelijking (Booleaanse) SELECT * FROM dependencies
WAAR! (geslaagd)
Afhankelijkheden
| where success == "False"
Groeperen, Aggregatie SELECT name, AVG(duration) FROM dependencies
GROEP OP NAAM
Afhankelijkheden
| avg(duration) op naam samenvatten
Distinct SELECT DISTINCT name, type FROM dependencies Afhankelijkheden
| samenvatten op naam, type
-- SELECT name, COUNT(DISTINCT type)
FROM-afhankelijkheden
GROEP OP NAAM
Afhankelijkheden in
| samenvatten op naam, typ | summarize count() op naam
of bij benadering voor grote sets
Afhankelijkheden
| dcount(type) samenvatten op naam
Kolomaliassen, Uitbreiden SELECT operationName als Name, AVG(duration) as AvgD FROM dependencies
GROEP OP NAAM
Afhankelijkheden
| summarize AvgD = avg(duration) by Name=operationName
Ordenen SELECT name, timestamp FROM dependencies
ORDER BY timestamp ASC
Afhankelijkheden
| projectnaam, tijdstempel
| order by timestamp asc nulls last
Top n per meting SELECTEER TOP 100 name, COUNT(*) as Count FROM dependencies
GROEP OP NAAM
ORDER BY Count DESC
Afhankelijkheden
| aantal samenvatten = count() op naam
| top 100 per count desc
Union SELECT * FROM dependencies
UNION
SELECT * FROM exceptions
union dependencies, exceptions
-- SELECT * FROM dependencies
WHERE-tijdstempel > ...
UNION
SELECT * FROM exceptions
WHERE-tijdstempel > ...
Afhankelijkheden
| where timestamp > ago(1d)
| Unie
  (uitzonderingen
  | where timestamp > ago(1d))
Deelnemen SELECT * FROM dependencies
Left OUTER JOIN-uitzondering
ON dependencies.operation_Id = exceptions.operation_Id
Afhankelijkheden
| type join = leftouter
  (uitzonderingen)
on $left.operation_Id == $right.operation_Id
Geneste query's SELECT * FROM dependencies
WHERE resultCode ==
(SELECT TOP 1 resultCode FROM dependencies
WHERE resultId = 7
ORDER BY-tijdstempel DESC)
Afhankelijkheden
| where resultCode == toscalar(
  Afhankelijkheden
  | where resultId == 7
  | top 1 per tijdstempeldesc
  | project resultCode)
Met SELECT COUNT(*) FROM dependencies
GROEP OP NAAM
HAVING COUNT(*) > 3
Afhankelijkheden
| summarize Count = count() op naam
| where Count > 3