

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Komponen kueri dan sintaks di CloudWatch Metrics Insights
<a name="cloudwatch-metrics-insights-querylanguage"></a>

CloudWatch Sintaks Metrics Insights adalah sebagai berikut.

```
SELECT FUNCTION(metricName)
FROM namespace | SCHEMA(...)
[ WHERE labelKey OPERATOR labelValue [AND ... ] ]
[ GROUP BY labelKey [ , ... ] ]
[ ORDER BY FUNCTION() [ DESC | ASC ] ]
[ LIMIT number ]
```

Klausa yang mungkin dalam kueri Wawasan Metrik adalah sebagai berikut. Tidak ada kata kunci yang peka huruf besar/kecil, tetapi pengidentifikasi seperti nama metrik, namespace, dan dimensi peka huruf besar/kecil.

**SELECT**  
Wajib. Menentukan fungsi yang akan digunakan untuk agregat pengamatan di setiap ember waktu (ditentukan oleh periode yang disediakan). Juga menentukan nama metrik untuk kueri.  
Nilai yang benar untuk **FUNCTION** adalah `AVG`, `COUNT`, `MAX`, `MIN`, dan `SUM`.  
+ `AVG` menghitung rata-rata observasi yang dicocokkan berdasarkan kueri.
+ `COUNT` mengembalikan jumlah observasi yang dicocokkan berdasarkan kueri.
+ `MAX` mengembalikan nilai maksimal observasi yang dicocokkan berdasarkan kueri.
+ `MIN` mengembalikan nilai minimal observasi yang dicocokkan berdasarkan kueri.
+ `SUM` menghitung jumlah observasi yang dicocokkan berdasarkan kueri.

**FROM**  
Wajib. Menentukan sumber metrik. Anda dapat menentukan namespace metrik yang berisi metrik yang akan ditanyakan, atau fungsi tabel **SCHEMA**. Contoh namespace metrik meliputi`"AWS/EC2"`, `"AWS/Lambda"`, dan namespace metrik yang telah Anda buat untuk metrik kustom Anda.  
Namespace metrik yang menyertakan **/** atau karakter lain yang bukan huruf, angka, atau garis bawah harus dikelilingi dengan tanda kutip ganda. Untuk informasi selengkapnya, lihat [Apa yang membutuhkan tanda kutip atau karakter pelarian?](#cloudwatch-metrics-insights-syntaxdetails).  
**SCHEMA**  
Fungsi tabel opsional yang dapat digunakan dalam klausa **FROM**. Gunakan **SCHEMA** untuk mencatat hasil kueri hanya ke metrik yang sama persis dengan daftar dimensi, atau metrik yang tidak memiliki dimensi.   
Jika Anda menggunakan klausa **SCHEMA**, ini setidaknya harus berisi satu argumen, dan argumen pertama ini harus berupa namespace metrik yang ditanyakan. Jika Anda menentukan **SCHEMA** hanya dengan argumen namespace ini, hasilnya akan tercakup hanya ke metrik yang tidak memiliki dimensi apa pun.  
Jika Anda menentukan **SCHEMA** dengan argumen tambahan, argumen tambahan setelah argumen namespace harus berupa kunci *label*. Kunci label harus berupa nama dimensi. Jika Anda menentukan satu atau beberapa kunci label ini, hasilnya akan tercakup hanya ke metrik yang memiliki kumpulan dimensi yang tepat. Urutan kunci label ini tidak masalah.  
Sebagai contoh:  
+ **SELECT AVG (CPUUtilization) FROM "AWS/EC2"** mencocokkan semua metrik `CPUUtilization` di namespace, `AWS/EC2`apa pun dimensinya, dan mengembalikan satu deret waktu gabungan. 
+ **SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2")** hanya mencocokkan metrik `CPUUtilization` di namespace `AWS/EC2` yang tidak memiliki dimensi yang ditentukan.
+ **SELECT AVG (CPUUutilization) FROM SCHEMA (“AWS/EC2", InstanceId)** hanya cocok dengan `CPUUtilization` metrik yang dilaporkan dengan tepat satu dimensi,. CloudWatch `InstanceId`
+ **SELECT SUM (RequestCount) FROM SCHEMA (“AWS/ApplicationElb”, LoadBalancer, AvailabilityZone)** hanya cocok dengan `RequestCount` metrik yang dilaporkan CloudWatch dari `AWS/ApplicationELB` dengan tepat dua dimensi, dan. `LoadBalancer` `AvailabilityZone`

**WHERE**  
Opsional. Memfilter hasil hanya ke metrik yang cocok dengan ekspresi yang Anda tentukan menggunakan nilai label tertentu untuk satu kunci label atau lebih. **Misalnya, **WHERE InstanceType = 'c3.4xlarge'** memfilter hasil hanya ke tipe `c3.4xlarge` instance, dan WHERE\$1 InstanceType = 'c3.4xlarge'** memfilter hasil ke semua jenis instance kecuali. `c3.4xlarge`  
Saat Anda menjalankan kueri dalam sebuah akun pemantauan, Anda dapat memilih `WHERE AWS.AccountId` untuk membatasi hasilnya hanya untuk akun yang Anda tentukan. Sebagai contoh, metrik kueri `WHERE AWS.AccountId=444455556666` hanya dari akun `444455556666`. Untuk membatasi kueri Anda hanya pada metrik-metrik yang ada di akun pemantauan itu sendiri, gunakan `WHERE AWS.AccountId=CURRENT_ACCOUNT_ID()`.  
Nilai label harus selalu diapit dengan tanda kutip tunggal.  
**Menggunakan tag di klausa WHERE**  
Anda dapat memfilter hasil berdasarkan tag AWS sumber daya menggunakan sintaks`tag.keyName`. Filter tag mengikuti aturan operator yang sama dengan filter dimensi. Contoh:  
+ *WHERE `tag.env = 'prod'` memfilter ke metrik dari sumber daya yang ditandai dengan env=prod*
+ *WHERE `tag.department != 'test'` mengecualikan metrik dari sumber daya yang ditandai dengan department=test*
Filter tag dapat dikombinasikan dengan filter dimensi:  
`WHERE tag.env = 'prod' AND InstanceType = 'm5.large'`  
**Operator yang didukung**  
Klausa **WHERE** mendukung operator berikut:  
+ Nilai label **=** harus cocok dengan string yang ditentukan.
+ Nilai label **\$1=** tidak harus cocok dengan string yang ditentukan.
+ **AND** Kedua kondisi yang ditentukan harus benar agar cocok. Anda dapat menggunakan beberapa kata kunci **AND** untuk menentukan dua atau lebih kondisi.

**GROUP BY**  
Opsional. Kelompokkan hasil kueri ke dalam beberapa deret waktu, masing-masing sesuai dengan nilai yang berbeda untuk kunci atau beberapa kunci label yang ditentukan. Misalnya, menggunakan `GROUP BY InstanceId` mengembalikan deret waktu yang berbeda untuk setiap nilai `InstanceId`. Menggunakan `GROUP BY ServiceName, Operation` membuat satu deret waktu yang berbeda untuk setiap kemungkinan kombinasi dari nilai-nilai `ServiceName` dan`Operation`.  
Dengan klausa **GROUP BY**, secara default, hasilnya diurutkan dalam urutan naik menurut abjad, menggunakan urutan label yang ditentukan dalam klausa **GROUP BY**. Untuk mengubah urutan hasil, tambahkan klausa **ORDER BY** ke kueri Anda.   
Saat menjalankan kueri dalam sebuah akun pemantauan, Anda dapat menggunakan `GROUP BY AWS.AccountId` untuk mengelompokkan hasilnya berdasarkan akun asal mereka.  
**Menggunakan tag dalam klausa GROUP BY**  
Anda dapat mengelompokkan hasil berdasarkan nilai tag AWS sumber daya menggunakan sintaks`tag.keyName`. Contoh:  
+ *GROUP BY tag.environment* membuat deret waktu terpisah untuk setiap nilai tag lingkungan
+ *GROUP BY tag.team, InstanceType* mengelompokkan berdasarkan nilai tag dan dimensi
+ *GRUP BERDASARKAN tag.team, AWS. AccountId*grup berdasarkan tag dan sumber tertaut Akun IDs
Jika beberapa metrik yang cocok tidak menyertakan kunci label tertentu yang ditentukan dalam klausa **GROUP BY**, grup kosong bernama `Other` dikembalikan. Sebagai contoh, jika Anda menentukan `GROUP BY ServiceName, Operation` dan beberapa metrik yang dikembalikan tidak menyertakan `ServiceName` sebagai dimensi, maka metrik tersebut ditampilkan memiliki `Other` sebagai nilai untuk `ServiceName`.

**ORDER BY**  
Opsional. Menentukan urutan yang akan digunakan untuk deret waktu yang dikembalikan, jika kueri mengembalikan lebih dari satu deret waktu. Urutan didasarkan pada nilai yang ditemukan oleh **FUNCTION** yang Anda tentukan dalam klausa **ORDER BY**. **FUNCTION** digunakan untuk menghitung nilai skalar tunggal dari setiap deret waktu yang dikembalikan, dan nilai itu digunakan untuk menentukan urutan.  
Anda juga menentukan apakah akan menggunakan urutan **ASC** naik atau **DESC** turun. Jika Anda menghilangkan ini, defaultnya adalah **ASC** naik.  
Misalnya, menambahkan klausa `ORDER BY MAX() DESC` memerintahkan hasil dengan titik data maksimum yang diamati dalam rentang waktu, dalam urutan menurun: artinya deret waktu yang memiliki titik data maksimum tertinggi dikembalikan terlebih dahulu.  
Fungsi yang valid untuk digunakan dalam klausa **ORDER BY** adalah `AVG()`, `COUNT()`, `MAX()`, `MIN()`, dan `SUM()`.  
Jika Anda menggunakan klausa **ORDER BY** dengan klausa **LIMIT**, kueri yang dihasilkan adalah kueri "N Teratas". **ORDER BY** juga berguna untuk kueri yang mungkin mengembalikan sejumlah besar metrik, karena setiap kueri dapat mengembalikan tidak lebih dari 500 deret waktu. Jika kueri cocok dengan lebih dari 500 deret waktu, dan Anda menggunakan klausa **ORDER BY**, deret waktu diurutkan dan kemudian 500 deret waktu yang muncul pertama dalam urutan pengurutan merupakan deret waktu yang dikembalikan.

**LIMIT**  
Opsional. Membatasi jumlah deret waktu yang dikembalikan oleh kueri ke nilai yang Anda tentukan. Nilai maksimum yang dapat Anda tentukan adalah 500, dan kueri yang tidak menentukan **LIMIT** juga dapat mengembalikan tidak lebih dari 500 deret waktu.  
Menggunakan klausa **LIMIT** dengan klausa **ORDER BY** memberi Anda kueri "N Teratas".

## Apa yang membutuhkan tanda kutip atau karakter pelarian?
<a name="cloudwatch-metrics-insights-syntaxdetails"></a>

Dalam kueri, nilai label harus selalu dikurung dengan tanda kutip tunggal. Misalnya, **PILIH MAX (CPUUutilization) DARI “AWS/EC2"** WHERE = ''. AutoScalingGroupName my-production-fleet 

Namespace metrik, nama metrik, dan kunci label yang berisi karakter selain huruf, angka, dan garis bawah (\$1) harus dikurung dengan tanda kutip ganda. Misalnya, **SELECT MAX("My.Metric")**.

Jika salah satu dari ini berisi tanda kutip ganda atau tanda kutip tunggal itu sendiri (seperti `Bytes"Input"`), Anda harus keluar dari setiap tanda kutip dengan garis miring terbalik, seperti pada **SELECT AVG("Bytes\$1"Input\$1"")**. 

Jika namespace metrik, nama metrik, atau kunci label, berisi kata yang merupakan kata kunci cadangan dalam Metrics Insights, ini juga harus diapit dalam tanda kutip ganda. Sebagai contoh, jika Anda memiliki metrik yang disebut `LIMIT`, Anda akan menggunakan `SELECT AVG("LIMIT")`. Ini juga benar untuk mengapit namespace, nama metrik, atau label dalam tanda kutip ganda bahkan jika itu tidak menyertakan kata kunci yang dicadangkan.

Untuk daftar lengkap kata kunci yang disimpan, silakan lihat [Kata kunci terpesan](cloudwatch-metrics-insights-reserved-keywords.md).

## Bangun kueri kaya langkah demi langkah
<a name="cloudwatch-metrics-insights-syntaxexample"></a>

Bagian ini menggambarkan membangun contoh lengkap yang menggunakan semua kemungkinan klausa, langkah demi langkah.

Anda dapat memulai dengan kueri berikut, yang menggabungkan semua metrik Application Load `RequestCount` Balancer yang dikumpulkan dengan dimensi dan. `LoadBalancer` `AvailabilityZone`

```
SELECT SUM(RequestCount) 
FROM SCHEMA("AWS/ApplicationELB", LoadBalancer, AvailabilityZone)
```

**Untuk melihat metrik hanya dari penyeimbang beban tertentu, Anda dapat menambahkan klausa WHERE untuk membatasi metrik yang dikembalikan hanya ke metrik yang memiliki nilai dimensi.** `LoadBalancer` `app/load-balancer-1`

```
SELECT SUM(RequestCount) 
FROM SCHEMA("AWS/ApplicationELB", LoadBalancer, AvailabilityZone)
WHERE LoadBalancer = 'app/load-balancer-1'
```

Kueri sebelumnya menggabungkan metrik `RequestCount` dari semua Availability Zone untuk penyeimbang beban ini menjadi satu deret waktu. Jika Anda ingin melihat deret waktu yang berbeda untuk setiap Availability Zone, kami dapat menambahkan klausa **GROUP BY**.

```
SELECT SUM(RequestCount) 
FROM SCHEMA("AWS/ApplicationELB", LoadBalancer, AvailabilityZone)
WHERE LoadBalancer = 'app/load-balancer-1'
GROUP BY AvailabilityZone
```

Selanjutnya, Anda dapat memesan hasil untuk melihat nilai tertinggi terlebih dahulu. Klausa **ORDER BY** berikut memerintahkan deret waktu dalam urutan menurun, dengan nilai maksimum yang dilaporkan oleh setiap deret waktu selama rentang waktu kueri:

```
SELECT SUM(RequestCount) 
FROM SCHEMA("AWS/ApplicationELB", LoadBalancer, AvailabilityZone)
WHERE LoadBalancer = 'app/load-balancer-1'
GROUP BY AvailabilityZone
ORDER BY MAX() DESC
```

Anda juga dapat menggunakan tag untuk memfilter hasil lebih lanjut. Misalnya, jika Anda ingin melihat hasil hanya untuk penyeimbang beban yang ditandai dengan lingkungan tertentu, kami dapat menambahkan pemfilteran tag ke klausa WHERE:

```
SELECT SUM(RequestCount) FROM SCHEMA("AWS/ApplicationELB", LoadBalancer, AvailabilityZone) WHERE LoadBalancer = 'app/load-balancer-1' AND tag.Environment = 'prod' GROUP BY AvailabilityZone ORDER BY MAX() DESC
```

Anda juga dapat mengelompokkan hasil berdasarkan nilai tag, bukan (atau sebagai tambahan) dimensi. Misalnya, pengelompokan berdasarkan tag Aplikasi:

```
SELECT SUM(RequestCount) FROM SCHEMA("AWS/ApplicationELB", LoadBalancer, AvailabilityZone) WHERE tag.Environment = 'prod' GROUP BY tag.Application ORDER BY MAX() DESC
```

Akhirnya, jika kita tertarik terutama pada jenis kueri "N Teratas", kita dapat menggunakan klausa **LIMIT**. Contoh terakhir ini membatasi hasil deret waktu hanya dengan lima nilai `MAX` tertinggi.

```
SELECT SUM(RequestCount) 
FROM SCHEMA("AWS/ApplicationELB", LoadBalancer, AvailabilityZone)
WHERE LoadBalancer = 'app/load-balancer-1'
GROUP BY AvailabilityZone
ORDER BY MAX() DESC
LIMIT 5
```

## Contoh kueri lintas akun
<a name="cloudwatch-metrics-insights-crossaccount"></a>

Contoh-contoh ini valid ketika dijalankan di akun yang disiapkan sebagai akun pemantauan dalam observabilitas CloudWatch lintas akun. 

Contoh berikut ini mencari semua instans Amazon EC2 yang ada di akun sumber 123456789012 dan mengembalikan rata-ratanya.

```
SELECT AVG(CpuUtilization) 
FROM "AWS/EC2" 
WHERE AWS.AccountId ='123456789012'
```

Contoh berikut menjalankan kueri terhadap metrik `CPUUtilization` yang ada di `AWS/EC2` di semua akun sumber terkait, dan mengelompokkan hasilnya berdasarkan ID akun dan tipe instans.

```
SELECT AVG(CpuUtilization) 
FROM "AWS/EC2" 
GROUP BY AWS.AccountId, InstanceType
```

Contoh berikut menjalankan kueri terhadap `CPUUtilization` di akun pemantauan itu sendiri.

```
SELECT AVG(CpuUtilization) 
FROM "AWS/EC2" 
WHERE AWS.AccountId = CURRENT_ACCOUNT_ID()
```

# Kata kunci terpesan
<a name="cloudwatch-metrics-insights-reserved-keywords"></a>

Berikut ini adalah kata kunci yang dicadangkan dalam Wawasan CloudWatch Metrik. Jika salah satu dari kata-kata ini berada di namespace, nama metrik, atau kunci label dalam kueri, Anda harus mengapitnya dalam tanda kutip ganda. Kata kunci yang dicadangkan tidak peka huruf besar/kecil.

```
"ABORT" "ABORTSESSION" "ABS" "ABSOLUTE" "ACCESS" "ACCESSIBLE" "ACCESS_LOCK" "ACCOUNT" "ACOS" "ACOSH" "ACTION" "ADD" "ADD_MONTHS"
"ADMIN" "AFTER" "AGGREGATE" "ALIAS" "ALL" "ALLOCATE" "ALLOW" "ALTER" "ALTERAND" "AMP" "ANALYSE" "ANALYZE" "AND" "ANSIDATE" "ANY" "ARE" "ARRAY",
"ARRAY_AGG" "ARRAY_EXISTS" "ARRAY_MAX_CARDINALITY" "AS" "ASC" "ASENSITIVE" "ASIN" "ASINH" "ASSERTION" "ASSOCIATE" "ASUTIME" "ASYMMETRIC" "AT",
"ATAN" "ATAN2" "ATANH" "ATOMIC" "AUDIT" "AUTHORIZATION" "AUX" "AUXILIARY" "AVE" "AVERAGE" "AVG" "BACKUP" "BEFORE" "BEGIN" "BEGIN_FRAME" "BEGIN_PARTITION",
"BETWEEN" "BIGINT" "BINARY" "BIT" "BLOB" "BOOLEAN" "BOTH" "BREADTH" "BREAK" "BROWSE" "BT" "BUFFERPOOL" "BULK" "BUT" "BY" "BYTE" "BYTEINT" "BYTES" "CALL",
"CALLED" "CAPTURE" "CARDINALITY" "CASCADE" "CASCADED" "CASE" "CASESPECIFIC" "CASE_N" "CAST" "CATALOG" "CCSID" "CD" "CEIL" "CEILING" "CHANGE" "CHAR",
"CHAR2HEXINT" "CHARACTER" "CHARACTERS" "CHARACTER_LENGTH" "CHARS" "CHAR_LENGTH" "CHECK" "CHECKPOINT" "CLASS" "CLASSIFIER" "CLOB" "CLONE" "CLOSE" "CLUSTER",
"CLUSTERED" "CM" "COALESCE" "COLLATE" "COLLATION" "COLLECT" "COLLECTION" "COLLID" "COLUMN" "COLUMN_VALUE" "COMMENT" "COMMIT" "COMPLETION" "COMPRESS" "COMPUTE",
"CONCAT" "CONCURRENTLY" "CONDITION" "CONNECT" "CONNECTION" "CONSTRAINT" "CONSTRAINTS" "CONSTRUCTOR" "CONTAINS" "CONTAINSTABLE" "CONTENT" "CONTINUE" "CONVERT",
"CONVERT_TABLE_HEADER" "COPY" "CORR" "CORRESPONDING" "COS" "COSH" "COUNT" "COVAR_POP" "COVAR_SAMP" "CREATE" "CROSS" "CS" "CSUM" "CT" "CUBE" "CUME_DIST",
"CURRENT" "CURRENT_CATALOG" "CURRENT_DATE" "CURRENT_DEFAULT_TRANSFORM_GROUP" "CURRENT_LC_CTYPE" "CURRENT_PATH" "CURRENT_ROLE" "CURRENT_ROW" "CURRENT_SCHEMA",
"CURRENT_SERVER" "CURRENT_TIME" "CURRENT_TIMESTAMP" "CURRENT_TIMEZONE" "CURRENT_TRANSFORM_GROUP_FOR_TYPE" "CURRENT_USER" "CURRVAL" "CURSOR" "CV" "CYCLE" "DATA",
"DATABASE" "DATABASES" "DATABLOCKSIZE" "DATE" "DATEFORM" "DAY" "DAYS" "DAY_HOUR" "DAY_MICROSECOND" "DAY_MINUTE" "DAY_SECOND" "DBCC" "DBINFO" "DEALLOCATE" "DEC",
"DECFLOAT" "DECIMAL" "DECLARE" "DEFAULT" "DEFERRABLE" "DEFERRED" "DEFINE" "DEGREES" "DEL" "DELAYED" "DELETE" "DENSE_RANK" "DENY" "DEPTH" "DEREF" "DESC" "DESCRIBE",
"DESCRIPTOR" "DESTROY" "DESTRUCTOR" "DETERMINISTIC" "DIAGNOSTIC" "DIAGNOSTICS" "DICTIONARY" "DISABLE" "DISABLED" "DISALLOW" "DISCONNECT" "DISK" "DISTINCT",
"DISTINCTROW" "DISTRIBUTED" "DIV" "DO" "DOCUMENT" "DOMAIN" "DOUBLE" "DROP" "DSSIZE" "DUAL" "DUMP" "DYNAMIC" "EACH" "ECHO" "EDITPROC" "ELEMENT" "ELSE" "ELSEIF",
"EMPTY" "ENABLED" "ENCLOSED" "ENCODING" "ENCRYPTION" "END" "END-EXEC" "ENDING" "END_FRAME" "END_PARTITION" "EQ" "EQUALS" "ERASE" "ERRLVL" "ERROR" "ERRORFILES",
"ERRORTABLES" "ESCAPE" "ESCAPED" "ET" "EVERY" "EXCEPT" "EXCEPTION" "EXCLUSIVE" "EXEC" "EXECUTE" "EXISTS" "EXIT" "EXP" "EXPLAIN" "EXTERNAL" "EXTRACT" "FALLBACK
"FALSE" "FASTEXPORT" "FENCED" "FETCH" "FIELDPROC" "FILE" "FILLFACTOR" "FILTER" "FINAL" "FIRST" "FIRST_VALUE" "FLOAT" "FLOAT4" "FLOAT8" "FLOOR" 
"FOR" "FORCE" "FOREIGN" "FORMAT" "FOUND" "FRAME_ROW" "FREE" "FREESPACE" "FREETEXT" "FREETEXTTABLE" "FREEZE" "FROM" "FULL" "FULLTEXT" "FUNCTION" 
"FUSION" "GE" "GENERAL" "GENERATED" "GET" "GIVE" "GLOBAL" "GO" "GOTO" "GRANT" "GRAPHIC" "GROUP" "GROUPING" "GROUPS" "GT" "HANDLER" "HASH" 
"HASHAMP" "HASHBAKAMP" "HASHBUCKET" "HASHROW" "HAVING" "HELP" "HIGH_PRIORITY" "HOLD" "HOLDLOCK" "HOUR" "HOURS" "HOUR_MICROSECOND" "HOUR_MINUTE" 
"HOUR_SECOND" "IDENTIFIED" "IDENTITY" "IDENTITYCOL" "IDENTITY_INSERT" "IF" "IGNORE" "ILIKE" "IMMEDIATE" "IN" "INCLUSIVE" "INCONSISTENT" "INCREMENT" 
"INDEX" "INDICATOR" "INFILE" "INHERIT" "INITIAL" "INITIALIZE" "INITIALLY" "INITIATE" "INNER" "INOUT" "INPUT" "INS" "INSENSITIVE" "INSERT" "INSTEAD" 
"INT" "INT1" "INT2" "INT3" "INT4" "INT8" "INTEGER" "INTEGERDATE" "INTERSECT" "INTERSECTION" "INTERVAL" "INTO" "IO_AFTER_GTIDS" "IO_BEFORE_GTIDS" 
"IS" "ISNULL" "ISOBID" "ISOLATION" "ITERATE" "JAR" "JOIN" "JOURNAL" "JSON_ARRAY" "JSON_ARRAYAGG" "JSON_EXISTS" "JSON_OBJECT" "JSON_OBJECTAGG" 
"JSON_QUERY" "JSON_TABLE" "JSON_TABLE_PRIMITIVE" "JSON_VALUE" "KEEP" "KEY" "KEYS" "KILL" "KURTOSIS" "LABEL" "LAG" "LANGUAGE" "LARGE" "LAST" 
"LAST_VALUE" "LATERAL" "LC_CTYPE" "LE" "LEAD" "LEADING" "LEAVE" "LEFT" "LESS" "LEVEL" "LIKE" "LIKE_REGEX" "LIMIT" "LINEAR" "LINENO" "LINES" 
"LISTAGG" "LN" "LOAD" "LOADING" "LOCAL" "LOCALE" "LOCALTIME" "LOCALTIMESTAMP" "LOCATOR" "LOCATORS" "LOCK" "LOCKING" "LOCKMAX" "LOCKSIZE" "LOG" 
"LOG10" "LOGGING" "LOGON" "LONG" "LONGBLOB" "LONGTEXT" "LOOP" "LOWER" "LOW_PRIORITY" "LT" "MACRO" "MAINTAINED" "MAP" "MASTER_BIND" 
"MASTER_SSL_VERIFY_SERVER_CERT" "MATCH" "MATCHES" "MATCH_NUMBER" "MATCH_RECOGNIZE" "MATERIALIZED" "MAVG" "MAX" "MAXEXTENTS" "MAXIMUM" "MAXVALUE" 
"MCHARACTERS" "MDIFF" "MEDIUMBLOB" "MEDIUMINT" "MEDIUMTEXT" "MEMBER" "MERGE" "METHOD" "MICROSECOND" "MICROSECONDS" "MIDDLEINT" "MIN" "MINDEX" 
"MINIMUM" "MINUS" "MINUTE" "MINUTES" "MINUTE_MICROSECOND" "MINUTE_SECOND" "MLINREG" "MLOAD" "MLSLABEL" "MOD" "MODE" "MODIFIES" "MODIFY" 
"MODULE" "MONITOR" "MONRESOURCE" "MONSESSION" "MONTH" "MONTHS" "MSUBSTR" "MSUM" "MULTISET" "NAMED" "NAMES" "NATIONAL" "NATURAL" "NCHAR" "NCLOB" 
"NE" "NESTED_TABLE_ID" "NEW" "NEW_TABLE" "NEXT" "NEXTVAL" "NO" "NOAUDIT" "NOCHECK" "NOCOMPRESS" "NONCLUSTERED" "NONE" "NORMALIZE" "NOT" "NOTNULL" 
"NOWAIT" "NO_WRITE_TO_BINLOG" "NTH_VALUE" "NTILE" "NULL" "NULLIF" "NULLIFZERO" "NULLS" "NUMBER" "NUMERIC" "NUMPARTS" "OBID" "OBJECT" "OBJECTS" 
"OCCURRENCES_REGEX" "OCTET_LENGTH" "OF" "OFF" "OFFLINE" "OFFSET" "OFFSETS" "OLD" "OLD_TABLE" "OMIT" "ON" "ONE" "ONLINE" "ONLY" "OPEN" "OPENDATASOURCE" 
"OPENQUERY" "OPENROWSET" "OPENXML" "OPERATION" "OPTIMIZATION" "OPTIMIZE" "OPTIMIZER_COSTS" "OPTION" "OPTIONALLY" "OR" "ORDER" "ORDINALITY" "ORGANIZATION" 
"OUT" "OUTER" "OUTFILE" "OUTPUT" "OVER" "OVERLAPS" "OVERLAY" "OVERRIDE" "PACKAGE" "PAD" "PADDED" "PARAMETER" "PARAMETERS" "PART" "PARTIAL" "PARTITION" 
"PARTITIONED" "PARTITIONING" "PASSWORD" "PATH" "PATTERN" "PCTFREE" "PER" "PERCENT" "PERCENTILE" "PERCENTILE_CONT" "PERCENTILE_DISC" "PERCENT_RANK" "PERIOD" "PERM" 
"PERMANENT" "PIECESIZE" "PIVOT" "PLACING" "PLAN" "PORTION" "POSITION" "POSITION_REGEX" "POSTFIX" "POWER" "PRECEDES" "PRECISION" "PREFIX" "PREORDER" 
"PREPARE" "PRESERVE" "PREVVAL" "PRIMARY" "PRINT" "PRIOR" "PRIQTY" "PRIVATE" "PRIVILEGES" "PROC" "PROCEDURE" "PROFILE" "PROGRAM" "PROPORTIONAL" 
"PROTECTION" "PSID" "PTF" "PUBLIC" "PURGE" "QUALIFIED" "QUALIFY" "QUANTILE" "QUERY" "QUERYNO" "RADIANS" "RAISERROR" "RANDOM" "RANGE" "RANGE_N" "RANK" 
"RAW" "READ" "READS" "READTEXT" "READ_WRITE" "REAL" "RECONFIGURE" "RECURSIVE" "REF" "REFERENCES" "REFERENCING" "REFRESH" "REGEXP" "REGR_AVGX" "REGR_AVGY" 
"REGR_COUNT" "REGR_INTERCEPT" "REGR_R2" "REGR_SLOPE" "REGR_SXX" "REGR_SXY" "REGR_SYY" "RELATIVE" "RELEASE" "RENAME" "REPEAT" "REPLACE" "REPLICATION" 
"REPOVERRIDE" "REQUEST" "REQUIRE" "RESIGNAL" "RESOURCE" "RESTART" "RESTORE" "RESTRICT" "RESULT" "RESULT_SET_LOCATOR" "RESUME" "RET" "RETRIEVE" "RETURN" 
"RETURNING" "RETURNS" "REVALIDATE" "REVERT" "REVOKE" "RIGHT" "RIGHTS" "RLIKE" "ROLE" "ROLLBACK" "ROLLFORWARD" "ROLLUP" "ROUND_CEILING" "ROUND_DOWN" 
"ROUND_FLOOR" "ROUND_HALF_DOWN" "ROUND_HALF_EVEN" "ROUND_HALF_UP" "ROUND_UP" "ROUTINE" "ROW" "ROWCOUNT" "ROWGUIDCOL" "ROWID" "ROWNUM" "ROWS" "ROWSET" 
"ROW_NUMBER" "RULE" "RUN" "RUNNING" "SAMPLE" "SAMPLEID" "SAVE" "SAVEPOINT" "SCHEMA" "SCHEMAS" "SCOPE" "SCRATCHPAD" "SCROLL" "SEARCH" "SECOND" "SECONDS" 
"SECOND_MICROSECOND" "SECQTY" "SECTION" "SECURITY" "SECURITYAUDIT" "SEEK" "SEL" "SELECT" "SEMANTICKEYPHRASETABLE" "SEMANTICSIMILARITYDETAILSTABLE" 
"SEMANTICSIMILARITYTABLE" "SENSITIVE" "SEPARATOR" "SEQUENCE" "SESSION" "SESSION_USER" "SET" "SETRESRATE" "SETS" "SETSESSRATE" "SETUSER" "SHARE" "SHOW" 
"SHUTDOWN" "SIGNAL" "SIMILAR" "SIMPLE" "SIN" "SINH" "SIZE" "SKEW" "SKIP" "SMALLINT" "SOME" "SOUNDEX" "SOURCE" "SPACE" "SPATIAL" "SPECIFIC" "SPECIFICTYPE" 
"SPOOL" "SQL" "SQLEXCEPTION" "SQLSTATE" "SQLTEXT" "SQLWARNING" "SQL_BIG_RESULT" "SQL_CALC_FOUND_ROWS" "SQL_SMALL_RESULT" "SQRT" "SS" "SSL" "STANDARD" 
"START" "STARTING" "STARTUP" "STAT" "STATE" "STATEMENT" "STATIC" "STATISTICS" "STAY" "STDDEV_POP" "STDDEV_SAMP" "STEPINFO" "STOGROUP" "STORED" "STORES" 
"STRAIGHT_JOIN" "STRING_CS" "STRUCTURE" "STYLE" "SUBMULTISET" "SUBSCRIBER" "SUBSET" "SUBSTR" "SUBSTRING" "SUBSTRING_REGEX" "SUCCEEDS" "SUCCESSFUL" 
"SUM" "SUMMARY" "SUSPEND" "SYMMETRIC" "SYNONYM" "SYSDATE" "SYSTEM" "SYSTEM_TIME" "SYSTEM_USER" "SYSTIMESTAMP" "TABLE" "TABLESAMPLE" "TABLESPACE" "TAN" 
"TANH" "TBL_CS" "TEMPORARY" "TERMINATE" "TERMINATED" "TEXTSIZE" "THAN" "THEN" "THRESHOLD" "TIME" "TIMESTAMP" "TIMEZONE_HOUR" "TIMEZONE_MINUTE" "TINYBLOB" 
"TINYINT" "TINYTEXT" "TITLE" "TO" "TOP" "TRACE" "TRAILING" "TRAN" "TRANSACTION" "TRANSLATE" "TRANSLATE_CHK" "TRANSLATE_REGEX" "TRANSLATION" "TREAT" 
"TRIGGER" "TRIM" "TRIM_ARRAY" "TRUE" "TRUNCATE" "TRY_CONVERT" "TSEQUAL" "TYPE" "UC" "UESCAPE" "UID" "UNDEFINED" "UNDER" "UNDO" "UNION" "UNIQUE" 
"UNKNOWN" "UNLOCK" "UNNEST" "UNPIVOT" "UNSIGNED" "UNTIL" "UPD" "UPDATE" "UPDATETEXT" "UPPER" "UPPERCASE" "USAGE" "USE" "USER" "USING" "UTC_DATE" 
"UTC_TIME" "UTC_TIMESTAMP" "VALIDATE" "VALIDPROC" "VALUE" "VALUES" "VALUE_OF" "VARBINARY" "VARBYTE" "VARCHAR" "VARCHAR2" "VARCHARACTER" "VARGRAPHIC" 
"VARIABLE" "VARIADIC" "VARIANT" "VARYING" "VAR_POP" "VAR_SAMP" "VCAT" "VERBOSE" "VERSIONING" "VIEW" "VIRTUAL" "VOLATILE" "VOLUMES" "WAIT" "WAITFOR" 
"WHEN" "WHENEVER" "WHERE" "WHILE" "WIDTH_BUCKET" "WINDOW" "WITH" "WITHIN" "WITHIN_GROUP" "WITHOUT" "WLM" "WORK" "WRITE" "WRITETEXT" "XMLCAST" "XMLEXISTS" 
"XMLNAMESPACES" "XOR" "YEAR" "YEARS" "YEAR_MONTH" "ZEROFILL" "ZEROIFNULL" "ZONE"
```