Hasznos tanácsok az SQL-ről Kustóra váltáshozSQL to Kusto cheat sheet

A Kusto az SQL nyelv egy részhalmazát támogatja.Kusto supports a subset of the SQL language. A nem támogatott funkciók teljes listájáért tekintse meg az SQL ismert problémáit tartalmazó listát.See the list of SQL known issues for the full list of unsupported features.

Az Kusto-mel való interakció elsődleges nyelve a KQL (Kusto Query Language).The primary language to interact with Kusto is KQL (Kusto Query Language). Az áttérési és tanulási élmény megkönnyítéséhez használhatja a Kusto-t az SQL-lekérdezések KQL való lefordításához.To make the transition and learning experience easier, you can use Kusto to translate SQL queries to KQL. Küldjön egy SQL-lekérdezést a Kusto-nek, és a "magyarázat" művelettel előtagot adjon meg.Send an SQL query to Kusto, prefixing it with the verb 'EXPLAIN'.

Például:For example:

EXPLAIN 
SELECT COUNT_BIG(*) as C FROM StormEvents 
LekérdezésQuery
StormEventsStormEvents
összefoglalás C = count ()summarize C=count()
C projektproject C

Hasznos tanácsok az SQL-ről Kustóra váltáshozSQL to Kusto cheat sheet

Az alábbi táblázat az SQL és a KQL egyenértékű lekérdezéseket mutatja be.The table below shows sample queries in SQL and their KQL equivalents.

KategóriaCategory SQL-lekérdezésSQL Query Kusto-lekérdezésKusto Query
Adatok kiválasztása a táblábólSelect data from table SELECT * FROM dependencies dependencies
-- SELECT name, resultCode FROM dependencies dependencies | project name, resultCode
-- SELECT TOP 100 * FROM dependencies dependencies | take 100
NULL ÉrtékelésNull evaluation SELECT * FROM dependencies
WHERE resultCode IS NOT NULL
dependencies
| where isnotnull(resultCode)
Összehasonlító operátorok (dátum)Comparison operators (date) SELECT * FROM dependencies
WHERE timestamp > getdate()-1
dependencies
| where timestamp > ago(1d)
-- SELECT * FROM dependencies
WHERE timestamp BETWEEN ... AND ...
dependencies
| where timestamp > datetime(2016-10-01)
  and timestamp <= datetime(2016-11-01)
Összehasonlító operátorok (karakterlánc)Comparison operators (string) SELECT * FROM dependencies
WHERE type = "Azure blob"
dependencies
| where type == "Azure blob"
-- -- substring
SELECT * FROM dependencies
WHERE type like "%blob%"
// substring
dependencies
| where type contains "blob"
-- -- wildcard
SELECT * FROM dependencies
WHERE type like "Azure%"
// wildcard
dependencies
| where type startswith "Azure"
// or
dependencies
| where type matches regex "^Azure.*"
Összehasonlítás (logikai)Comparison (boolean) SELECT * FROM dependencies
WHERE !(success)
dependencies
| where success == "False"
KülönbözőDistinct SELECT DISTINCT name, type FROM dependencies dependencies
| summarize by name, type
Csoportosítás, összesítésGrouping, Aggregation SELECT name, AVG(duration) FROM dependencies
GROUP BY name
dependencies
| summarize avg(duration) by name
Oszlop aliasnevei, kiterjesztésColumn aliases, Extending SELECT operationName as Name, AVG(duration) as AvgD FROM dependencies
GROUP BY name
dependencies
| summarize AvgD = avg(duration) by Name=operationName
RendezésOrdering SELECT name, timestamp FROM dependencies
ORDER BY timestamp ASC
dependencies
| project name, timestamp
| order by timestamp asc nulls last
Legfontosabb n mérték szerintTop n by 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
UnionUnion SELECT * FROM dependencies
UNION
SELECT * FROM exceptions
union dependencies, exceptions
-- SELECT * FROM dependencies
WHERE timestamp > ...
UNION
SELECT * FROM exceptions
WHERE timestamp > ...
dependencies
| where timestamp > ago(1d)
| union
  (exceptions
  | where timestamp > ago(1d))
CsatlakozásJoin SELECT * FROM dependencies
LEFT OUTER JOIN exception
ON dependencies.operation_Id = exceptions.operation_Id
dependencies
| join kind = leftouter
  (exceptions)
on $left.operation_Id == $right.operation_Id
Beágyazott lekérdezésekNested queries 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)
TekintettelHaving SELECT COUNT(*) FROM dependencies
GROUP BY name
HAVING COUNT(*) > 3
dependencies
| summarize Count = count() by name
| where Count > 3