Sql to Kusto-Abfragesprache Spickzettel
Wenn Sie mit SQL vertraut sind und KQL erlernen möchten, übersetzen Sie SQL-Abfragen in KQL, indem Sie die SQL-Abfrage mit einer Kommentarzeile , --
und der Schlüsselwort (keyword) explain
vorschreiben. Die Ausgabe zeigt die KQL-Version der Abfrage, die Ihnen helfen kann, die KQL-Syntax und die Konzepte zu verstehen.
--
explain
SELECT COUNT_BIG(*) as C FROM StormEvents
Ausgabe
Abfrage |
---|
StormEvents<br> | summarize C=count()<br> | project C |
Cheat Sheet für die Übersetzung von SQL in Kusto
Die folgende Tabelle enthält Beispielabfragen in SQL und deren KQL-Entsprechungen.
Category | SQL-Abfrage | Kusto-Abfrage | Erfahren Sie mehr |
---|---|---|---|
Auswählen von Daten aus einer Tabelle | SELECT * FROM dependencies |
dependencies |
Anweisungen für tabellarische Ausdrücke |
-- | SELECT name, resultCode FROM dependencies |
dependencies | project name, resultCode |
project |
-- | SELECT TOP 100 * FROM dependencies |
dependencies | take 100 |
take |
Null-Auswertung | SELECT * FROM dependencies WHERE resultCode IS NOT NULL |
dependencies | where isnotnull(resultCode) |
isnotnull() |
Vergleichsoperatoren (Datum) | SELECT * FROM dependencies WHERE timestamp > getdate()-1 |
dependencies | where timestamp > ago(1d) |
ago() |
-- | SELECT * FROM dependencies WHERE timestamp BETWEEN ... AND ... |
dependencies | where timestamp between (datetime(2016-10-01) .. datetime(2016-11-01)) |
between |
Vergleichsoperatoren (Zeichenfolge) | SELECT * FROM dependencies WHERE type = "Azure blob" |
dependencies | where type == "Azure blob" |
Logische Operatoren |
-- | -- substring SELECT * FROM dependencies WHERE type like "%blob%" |
// substring dependencies | where type has "blob" |
has |
-- | -- wildcard SELECT * FROM dependencies WHERE type like "Azure%" |
// wildcard dependencies | where type startswith "Azure" // or dependencies | where type matches regex "^Azure.*" |
startswith entspricht regex |
Vergleich (Boolesch) | SELECT * FROM dependencies WHERE !(success) |
dependencies | where success == False |
Logische Operatoren |
Gruppierung, Aggregation | SELECT name, AVG(duration) FROM dependencies GROUP BY name |
dependencies | summarize avg(duration) by name |
Zusammenfassen avg() |
Distinct | SELECT DISTINCT name, type FROM dependencies |
dependencies | summarize by name, type |
Zusammenfassen Unterschiedliche |
-- | SELECT name, COUNT(DISTINCT type) FROM dependencies GROUP BY name |
dependencies | summarize by name, type | summarize count() by name // or approximate for large sets dependencies | summarize dcount(type) by name |
count() dcount() |
Spaltenaliase, Erweitern | SELECT operationName as Name, AVG(duration) as AvgD FROM dependencies GROUP BY name |
dependencies | summarize AvgD = avg(duration) by Name=operationName |
alias-Anweisung |
-- | SELECT conference, CONCAT(sessionid, ' ' , session_title) AS session FROM ConferenceSessions |
ConferenceSessions | extend session=strcat(sessionid, " ", session_title) | project conference, session |
strcat() Projekt |
Sortieren | SELECT name, timestamp FROM dependencies ORDER BY timestamp ASC |
dependencies | project name, timestamp | sort by timestamp asc nulls last |
sort |
Top n nach Measure | SELECT TOP 100 name, COUNT(*) as Count FROM dependencies GROUP BY name ORDER BY Count DESC |
dependencies | summarize Count = count() by name | top 100 by Count desc |
top |
Union | SELECT * FROM dependencies UNION SELECT * FROM exceptions |
union dependencies, exceptions |
union |
-- | SELECT * FROM dependencies WHERE timestamp > ... UNION SELECT * FROM exceptions WHERE timestamp > ... |
dependencies | where timestamp > ago(1d) | union (exceptions | where timestamp > ago(1d)) |
|
Join | SELECT * FROM dependencies LEFT OUTER JOIN exceptions ON dependencies.operation_Id = exceptions.operation_Id |
dependencies | join kind = leftouter (exceptions) on $left.operation_Id == $right.operation_Id |
join |
Geschachtelte Abfragen | SELECT * FROM dependencies WHERE resultCode == (SELECT TOP 1 resultCode FROM dependencies WHERE resultId = 7 ORDER BY timestamp DESC) |
dependencies | where resultCode == toscalar( dependencies | where resultId == 7 | top 1 by timestamp desc | project resultCode) |
toscalar |
Having | SELECT COUNT(\*) FROM dependencies GROUP BY name HAVING COUNT(\*) > 3 |
dependencies | summarize Count = count() by name | where Count > 3 |
Zusammenfassen Wo |
Verwandte Inhalte
- Verwenden von T-SQL zum Abfragen von Daten
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für