Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunun için geçerlidir:
Databricks SQL
Databricks Runtime
Bu makalede Databricks Runtime'da ANSI uyumluluğu açıklanmaktadır. Databricks SQL'de ANSI modu için bkz. ANSI_MODE.
Spark SQL,ANSI SQL standardıyla uyumluluğu desteklemek için iki seçeneğe sahiptir: spark.sql.ansi.enabled ve spark.sql.storeAssignmentPolicy.
spark.sql.ansi.enabled(ANSI modu)- Hive uyumlu diyalekt yerine ANSI uyumlu sql diyalektini kullanır.
- Geçersiz girişler için null döndürmek yerine çalışma zamanı istisnaları fırlatır.
- Apache Spark 4.0 ve Databricks Runtime 17.0 ve üzeri sürümleri için varsayılan olarak etkindir.
spark.sql.storeAssignmentPolicy(mağaza atama politikası)- Tablo eklemeleri sırasında örtük atamayı denetler.
- varsayılan olarak
ANSIayarlanır ve ayarındanspark.sql.ansi.enabledbağımsızdır.
Aşağıdaki tabloda davranışı özetlemektedir:
| Özellik Adı | Varsayılan | Anlamı |
|---|---|---|
spark.sql.ansi.enabled |
true | Doğru olduğunda Spark, ANSI SQL belirtimine uymaya çalışır:
|
spark.sql.storeAssignmentPolicy |
Amerikan Ulusal Standartlar Enstitüsü (ANSI) | Spark, bir değeri farklı bir veri türüne sahip bir sütunda depolarken tür dönüştürme gerçekleştirir. Tür zorlama kuralları için üç ilke vardır: ANSI, legacyve strict.
|
Aşağıdaki alt bölümler, ANSI modu etkinleştirildiğinde aritmetik işlemlerde, tür dönüştürmelerinde ve SQL ayrıştırmada davranış değişiklikleri sunar. Spark SQL'de tür dönüştürmeleri için üç tür vardır ve bu makale bunları birer birer tanıtır: döküm, depolama ataması ve tür zorlaması.
Aritmetik işlemler
Spark SQL'de, sayısal türlerde gerçekleştirilen aritmetik işlemler (ondalık hariç) taşmalar için varsayılan olarak denetlenmemektedir.
Bu, bir işlemin taşmalara neden olması durumunda sonucun Java veya Scala programındaki ilgili işlemle aynı olduğu anlamına gelir (Örneğin, 2 tamsayının toplamı temsil edilebilir maksimum değerden yüksekse, sonuç negatif bir sayıdır). Spark SQL, öte yandan, ondalık taşmalar için null döndürür.
spark.sql.ansi.enabled
true olarak ayarlandığında ve sayısal ile aralık aritmetiği işlemlerinde taşma oluştuğunda, çalışma zamanında bir aritmetik istisna hatası meydana gelir.
-- `spark.sql.ansi.enabled=true`
> SELECT 2147483647 + 1;
error: integer overflow
-- `spark.sql.ansi.enabled=false`
> SELECT 2147483647 + 1;
-2147483648
Oyuncu Kadrosu
spark.sql.ansi.enabled
trueolarak ayarlandığında, CAST söz dizimine göre açık dönüşüm, bir dizeden tamsayıya dönüştürmeler gibi standartta tanımlanan geçersiz dönüşüm desenleri için bir çalışma zamanı hatası fırlatır.
CAST Spark ANSI modu maddesi, ISO/IEC 9075-2:2011 Bilgi teknolojisi — Veritabanı dilleri - SQL — Bölüm 2: Temel (SQL/Foundation)'da bölüm 6.13 "dönüşüm belirtimi" söz dizimi kurallarına uyar, ancak ANSI standardına göre izin verilmeyen aşağıdaki basit tür dönüştürmelerine özel olarak izin verir:
- SayısalTür <=> MantıksalTür
- DiziTürü <=> İkiliTür
bir CAST ifadesindeki geçerli kaynak ve hedef veri türü birleşimleri aşağıdaki tablo tarafından verilmiştir.
"Y", birleşimin kısıtlama olmadan söz dizimsel olarak geçerli olduğunu ve "N" birleşimin geçerli olmadığını gösterir.
| SourceTarget | Sayısal | Dize | Tarih | Zaman damgası | Aralık | Boolean (Boole Mantığı) | İkilik | Dizi | Harita | Yapı |
|---|---|---|---|---|---|---|---|---|---|---|
| Sayısal | Y | Y | N | N | N | Y | N | N | N | N |
| Dize | Y | Y | Y | Y | Y | Y | Y | N | N | N |
| Tarih | N | Y | Y | Y | N | N | N | N | N | N |
| Zaman damgası | N | Y | Y | Y | N | N | N | N | N | N |
| Aralık | N | Y | N | N | Y | N | N | N | N | N |
| Boolean (Boole Mantığı) | Y | Y | N | N | N | Y | N | N | N | N |
| İkilik | Y | N | N | N | N | N | Y | N | N | N |
| Dizi | N | N | N | N | N | N | N | Y | N | N |
| Harita | N | N | N | N | N | N | N | N | Y | N |
| Yapı | N | N | N | N | N | N | N | N | N | Y |
-- Examples of explicit casting
-- `spark.sql.ansi.enabled=true`
> SELECT CAST('a' AS INT);
ERROR: [CAST_INVALID_INPUT] The value 'a' of the type "STRING" cannot be cast to "INT" because it is malformed.
> SELECT CAST(2147483648L AS INT);
ERROR: [CAST_OVERFLOW] The value 2147483648L of the type "BIGINT" cannot be cast to "INT" due to an overflow.
> SELECT CAST(DATE'2020-01-01' AS INT)
ERROR: [DATATYPE_MISMATCH.CAST_WITH_FUNC_SUGGESTION] Cannot resolve "CAST(DATE '2020-01-01' AS INT)" due to data type mismatch: cannot cast "DATE" to "INT".
-- `spark.sql.ansi.enabled=false`
> SELECT cast('a' AS INT);
null
> SELECT CAST(2147483648L AS INT);
-2147483648
> SELECT CAST(DATE'2020-01-01' AS INT);
null
Mağaza ataması
Ayar spark.sql.storeAssignmentPolicy varsayılan olarak olarak ayarlanır ANSI. Bu ayarda, kaynak değerlerin veri türleri hedef sütun türleriyle eşleşmediğinde Spark SQL deyimine INSERT otomatik olarak ANSI CAST yan tümceleri ekler.
Spark, bu ilke altında tablo ekleme sırasında geçersiz atamaları denetler ve reddeder ve veri kalitesini sağlamak için bir özel durum oluşturur. Başka bir deyişle, tür uyuşmazlığı nedeniyle ekleme girişimi başarısız olursa, tabloya kısmen herhangi bir veri yazılmasıyla sonuçlanmaz.
Örnekler:
-- spark.sql.storeAssignmentPolicy=ANSI
> CREATE TABLE test(i INT);
> INSERT INTO test VALUES (2147483648L);
ERROR: [CAST_OVERFLOW_IN_TABLE_INSERT] Fail to insert a value of "BIGINT" type into the "INT" type column `i` due to an overflow.
> INSERT INTO test VALUES ('a');
ERROR: [CAST_INVALID_INPUT ERROR] The value 'a' of the type "STRING" cannot be cast to "INT" because it is malformed
Bu örnekler Spark SQL'in uyumsuz verilerin eklenmesini önleyerek veri bütünlüğünü korumasını gösterir.
spark.sql.storeAssignmentPolicy
LEGACYolarak ayarlandığında Spark SQL, Spark 2.x'e kadar yaygın olan davranışa geri döner. Bu modda, ANSI CAST kullanmak yerine eski CAST işlemlerini uygular. Bu ilkenin altında, tablo eklemeleri sırasında geçersiz atamalar, özel durum oluşturma yerine NULL değerlerin veya yanlış değerlerin eklenmesiyle sonuçlanır.
Örnekler:
-- spark.sql.storeAssignmentPolicy=LEGACY
> CREATE TABLE test(i INT);
> INSERT INTO test VALUES (2147483648L);
> INSERT INTO test VALUES ('a');
> SELECT * FROM test;
-- Results
-- -2147483648 (incorrect value due to overflow)
-- null (cannot cast 'a' to INT)
Tür zorlaması
Tip Yükseltme ve Öncelik
spark.sql.ansi.enabled
trueolarak ayarlandığında Spark SQL, veri türleri arasındaki çakışmaların nasıl çözüldüğünü yöneten çeşitli kurallar kullanır.
Bu çakışma çözümünün merkezinde, belirli bir veri türünün değerlerinin örtük olarak başka bir veri türüne yükseltilip yükseltilemeyeceğini tanımlayan Tür Önceliği Listesi yer alır.
| Veri türü | öncelik listesi (en dardan en genişe) |
|---|---|
| Bayt | Bayt -> Kısa Sayı -> Tamsayı -> Uzun -> Ondalık -> Kayan Noktalı* -> Çift Kesirli |
| Kısa | Kısa -> Int -> Uzun -> Ondalık-> Kayan* -> Çift |
| Int | Int -> Uzun -> Ondalık -> Kayan* -> Çift |
| Uzun | Uzun -> Ondalık -> Kayan* -> Çift |
| Ondalık | Ondalık -> Kayan* -> Çift |
| Yüzmek | Float -> Çift |
| Çift | Çift |
| Tarih | Tarih -> Saat Damgası |
| Zaman damgası | Zaman damgası |
| Dize | Dize |
| İkilik | İkilik |
| Boolean (Boole Mantığı) | Boolean (Boole Mantığı) |
| Aralık | Aralık |
| Harita | Harita** |
| Dizi | Dizi** |
| Yapı | Yapı** |
- En az yaygın tür çözümlemesi için duyarlık kaybını önlemek için kayan nokta atlanır.
** Karmaşık bir tür için öncelik kuralı, bileşen öğelerine özyinelemeli olarak uygulanır.
Dize türü ve yazılmamış NULL için özel kurallar geçerlidir. Null başka bir türe yükseltilebilirken, Dize herhangi bir basit veri türüne yükseltilebilir.
Bu, öncelik listesinin yönlendirilmiş ağaç olarak grafiksel gösterimidir: 
En Az Ortak Tür Çözümlemesi
Bir tür kümesindeki en az yaygın tür, tür kümesinin tüm öğeleri tarafından öncelik listesinden ulaşılabilen en dar türdür.
Aşağıdakiler için en az yaygın tür çözümlemesi kullanılır:
- Belirli bir türde parametre bekleyen bir işlevin, daha dar türde bir argüman kullanılarak çağrılıp çağrılamayacağına karar verin.
- Birden fazla parametre için ortak bir argüman türü bekleyen işlevler için, örneğin coalesce, least veya greatest gibi, argüman türünü türetin.
- Aritmetik işlemler veya karşılaştırmalar gibi işleçler için işlenen türlerini türetin.
- case ifadesi gibi ifadeler için sonuç türünü türetin.
- Dizi ve eşleme oluşturucuları için öğe, anahtar veya değer türlerini türetin.
En az ortak tür FLOAT olarak çözümlenirse özel kurallar uygulanır. Kayan tür değerleri ile, türlerden herhangi biri INT, BIGINT veya DECIMAL ise, en az uyumlu tür, olası basamak kaybını önlemek için DOUBLE'a dönüştürülür.
-- The coalesce function accepts any set of argument types as long as they share a least common type.
-- The result type is the least common type of the arguments.
> SET spark.sql.ansi.enabled=true;
> SELECT typeof(coalesce(1Y, 1L, NULL));
BIGINT
> SELECT typeof(coalesce(1, DATE'2020-01-01'));
Error: Incompatible types [INT, DATE]
> SELECT typeof(coalesce(ARRAY(1Y), ARRAY(1L)));
ARRAY<BIGINT>
> SELECT typeof(coalesce(1, 1F));
DOUBLE
> SELECT typeof(coalesce(1L, 1F));
DOUBLE
> SELECT (typeof(coalesce(1BD, 1F)));
DOUBLE
-- The substring function expects arguments of type INT for the start and length parameters.
> SELECT substring('hello', 1Y, 2);
he
> SELECT substring('hello', '1', 2);
he
> SELECT substring('hello', 1L, 2);
Error: Argument 2 requires an INT type.
> SELECT substring('hello', str, 2) FROM VALUES(CAST('1' AS STRING)) AS T(str);
Error: Argument 2 requires an INT type.
SQL işlevleri
Bazı SQL işlevlerinin davranışı ANSI modu (spark.sql.ansi.enabled=true) altında farklı olabilir.
-
size: Bu işlev ANSI modunda null giriş için null döndürür. -
element_at:- Geçersiz dizinler
ArrayIndexOutOfBoundsExceptionkullanıldığında bu işlev bir hata atar. - Bu işlev, haritada anahtar yoksa
NoSuchElementExceptionfırlatır.
- Geçersiz dizinler
-
elt: Bu işlev, geçersiz dizinler kullanılıyorsaArrayIndexOutOfBoundsExceptionfırlatır. -
make_date: Sonuç tarihi geçersizse bu işlev bir istisna ile başarısız olur. -
make_timestamp: Sonuç zaman damgası geçersizse bu işlev başarısız olur ve bir istisna fırlatır. -
make_interval: Sonuç aralığı geçersiz olduğunda bu işlev bir istisna ile sonuçlanır. -
next_day: Giriş geçerli bir haftanın günü değilse bu işlev oluştururIllegalArgumentException. -
parse_url: Giriş dizesi geçerli bir URL değilse, bu işlevIllegalArgumentExceptionatar. -
to_date: Giriş dizesi ayrıştırılamıyorsa veya desen dizesi geçersizse bu işlev bir özel durumla başarısız olur. -
to_timestamp: Giriş dizesi ayrıştırılamıyorsa veya desen dizesi geçersizse bu işlev bir özel durumla başarısız olur. -
to_unix_timestamp: Giriş dizesi ayrıştırılamıyorsa veya desen dizesi geçersizse bu işlev bir özel durumla başarısız olur. -
unix_timestamp: Giriş dizesi ayrıştırılamıyorsa veya desen dizesi geçersizse bu işlev bir özel durumla başarısız olur.
SQL işleçleri
Bazı SQL işleçlerinin davranışı ANSI modu (spark.sql.ansi.enabled=true ) altında farklı olabilir.
-
array_col[index]: Bu işleç, geçersiz dizinler kullanılıyorsaArrayIndexOutOfBoundsExceptionfırlatır. -
map_col[key]: Haritada anahtar yoksa,NoSuchElementExceptionatar. -
CAST(string_col AS TIMESTAMP): Giriş dizesi ayrıştırılamadığında bu operatör bir istisna ile başarısız olur. -
CAST(string_col AS DATE): Giriş dizesi ayrıştırılamadığında bu operatör bir istisna ile başarısız olur.
ANSI Modu için Yararlı İşlevler
ANSI modu açık olduğunda, geçersiz işlemler için istisnalar fırlatır. Bu tür özel durumları engellemek için aşağıdaki SQL işlevlerini kullanabilirsiniz.
-
try_cast,CASTile aynıdır, ancak bir çalışma zamanı hatası oluştuğunda özel durum oluşturmak yerineNULLsonucunu döndürür. -
try_add: add işleciyle+aynıdır, ancak tam sayı değeri taşmasında bir istisna oluşturmak yerine sonuçNULLdöndürür. -
try_divide: bölme işleciyle/aynıdır, ancak 0'ı bölmek için bir özel durum oluşturmak yerine sonuç döndürürNULL.
SQL anahtar sözcükleri
Hem spark.sql.ansi.enabled=truehem de spark.sql.ansi.enforceReservedKeywords=true olduğunda Spark SQL ANSI ayrıştırıcısını kullanır.
Varsayılan olarak, spark.sql.ansi.enforceReservedKeywordsfalseolarak kabul edilir.
ANSI ayrıştırıcı modunda anahtar sözcükler iki kategoriye ayrılır:
- Ayrılmış: Kimlik belirleyici olarak kullanılamaz (tablo, görünüm, sütun, fonksiyon, takma ad vb.).
- Belirli bağlamlarda yalnızca anahtar sözcük olarak işlev görür; diğer durumlarda tanımlayıcı olarak kullanılabilir. Örneğin,
EXPLAIN SELECT ...bir komut olsa daEXPLAINbaşka bir yerde tanımlayıcı olarak kullanılabilir.
ANSI ayrıştırıcısı kullanımda olmadığında anahtar sözcükler şöyle olur:
- Ayrılmamış: Yukarıdakiyle aynı tanım.
- Kesin olarak ayrılmamış: Ayrılmamışa benzer, ancak tablo takma adları olarak kullanılamaz.
Spark SQL'deki tüm anahtar sözcüklerin listesi aşağıdadır.
| Anahtar sözcük | Spark SQL ANSI Modu | Spark SQL Varsayılan Modu | SQL-2016 |
|---|---|---|---|
| EKLEMEK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| SONRA | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| TÜMÜ | ayrılmış | rezerve edilmemiş | ayrılmış |
| DEĞİŞTİR | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| HER ZAMAN | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ANALİZ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| VE | ayrılmış | rezerve edilmemiş | ayrılmış |
| ANTİ | rezerve edilmemiş | kesin olarak ayrılmamış | rezerve edilmemiş |
| HERHANGİ BİRİ | ayrılmış | rezerve edilmemiş | ayrılmış |
| ARŞİV | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| DİZİ | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| GİBİ | ayrılmış | rezerve edilmemiş | ayrılmış |
| ASC | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| DA | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| İZİN | ayrılmış | rezerve edilmemiş | ayrılmış |
| ARASINDA | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| Her ikisi | ayrılmış | rezerve edilmemiş | ayrılmış |
| KOVA | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| KOVALAR | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| TARAFINDAN | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| Önbellek | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ÇAĞLAYAN | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| DAVA | ayrılmış | rezerve edilmemiş | ayrılmış |
| FIRLATMAK | ayrılmış | rezerve edilmemiş | ayrılmış |
| DEĞİŞİM | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ÇEK | ayrılmış | rezerve edilmemiş | ayrılmış |
| AÇIK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| KÜME | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| kümelenmiş | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| CODEGEN | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| HARMANLAMAK | ayrılmış | rezerve edilmemiş | ayrılmış |
| Koleksiyon | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| COLUMN | ayrılmış | rezerve edilmemiş | ayrılmış |
| COLUMNS | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| YORUM | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| İŞLEMEK | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| KOMPAKT | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| Sıkıştırmalar | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| BİLGİ İŞLEM | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| BİRLEŞTİRMEK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| CONSTRAINT | ayrılmış | rezerve edilmemiş | ayrılmış |
| MALİYET | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| OLUŞTUR | ayrılmış | rezerve edilmemiş | ayrılmış |
| HAÇ | ayrılmış | kesin olarak ayrılmamış | ayrılmış |
| KÜP | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| GEÇERLİ | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| GEÇERLİ_TARİH | ayrılmış | rezerve edilmemiş | ayrılmış |
| GEÇERLİ_ZAMAN | ayrılmış | rezerve edilmemiş | ayrılmış |
| CURRENT_TIMESTAMP | ayrılmış | rezerve edilmemiş | ayrılmış |
| ŞU_AN_KULLANICI | ayrılmış | rezerve edilmemiş | ayrılmış |
| VERİLER | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| VERİTABANI | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| VERİTABANLARI | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| GÜN | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| DBPROPERTIES | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| TANIMLANAN | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| SİL | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| SINIRLANDIRILMIŞ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| AÇIKLAMA | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| TANIMLAMAK | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| DFS | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| DİZİN | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| DİZİN | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| BELİRGİN | ayrılmış | rezerve edilmemiş | ayrılmış |
| DAĞITMAK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| DİV | rezerve edilmemiş | rezerve edilmemiş | anahtar sözcük değil |
| Bırak | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| BAŞKA | ayrılmış | rezerve edilmemiş | ayrılmış |
| SON | ayrılmış | rezerve edilmemiş | ayrılmış |
| KAÇMAK | ayrılmış | rezerve edilmemiş | ayrılmış |
| KAÇTI | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| HARİÇ | ayrılmış | kesin olarak ayrılmamış | ayrılmış |
| DEĞİŞ TOKUŞ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| VAR | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| EXPLAIN | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| IHRACAT | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| GENİŞLETİLMİŞ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| DIŞ | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| ÖZET | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| YANLIŞ | ayrılmış | rezerve edilmemiş | ayrılmış |
| GETİR | ayrılmış | rezerve edilmemiş | ayrılmış |
| ALANLAR | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| FİLTRE | ayrılmış | rezerve edilmemiş | ayrılmış |
| DOSYA BIÇIMI | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| İLK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| FN | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| TAKİP EDEN | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| için | ayrılmış | rezerve edilmemiş | ayrılmış |
| YABANCI | ayrılmış | rezerve edilmemiş | ayrılmış |
| BİÇİM | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| BİÇİMLENDİRİLMİŞ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| KAYNAK | ayrılmış | rezerve edilmemiş | ayrılmış |
| DOLU | ayrılmış | kesin olarak ayrılmamış | ayrılmış |
| Fonksiyon | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| İŞLEVLER | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| OLUŞTURULAN | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| GENEL | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| GRANT | ayrılmış | rezerve edilmemiş | ayrılmış |
| HİBELER | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| GRUP | ayrılmış | rezerve edilmemiş | ayrılmış |
| GRUPLANDIRMA | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| HAVING | ayrılmış | rezerve edilmemiş | ayrılmış |
| SAAT | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| EĞER | rezerve edilmemiş | rezerve edilmemiş | anahtar sözcük değil |
| YOK SAYMAK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ITHALAT | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| İÇERİDE | ayrılmış | rezerve edilmemiş | ayrılmış |
| DİZİN | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| İNDEKSLER | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| İÇ | ayrılmış | kesin olarak ayrılmamış | ayrılmış |
| INPATH | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| GİRİŞFORMATI | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| INSERT | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| Kesişmek | ayrılmış | kesin olarak ayrılmamış | ayrılmış |
| ARALIK | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| İÇİNE | ayrılmış | rezerve edilmemiş | ayrılmış |
| "IS" | ayrılmış | rezerve edilmemiş | ayrılmış |
| EŞYA | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| JOIN | ayrılmış | kesin olarak ayrılmamış | ayrılmış |
| JSON veri formatı | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ANAHTAR | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ANAHTAR | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| SON | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| YANAL | ayrılmış | kesin olarak ayrılmamış | ayrılmış |
| TEMBEL | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ÖNDE GELEN | ayrılmış | rezerve edilmemiş | ayrılmış |
| sol | ayrılmış | kesin olarak ayrılmamış | ayrılmış |
| BEĞEN | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| ILIKE | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| LIMIT | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| SATIR | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| LIST | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| YÜK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| YEREL | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| KONUM | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| KİLİT | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| KİLİT | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| MANTIKLI | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| MAKRO | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| HARİTA | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| EŞLEŞEN | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| BİRLEŞMEK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| DAKİKA | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| EKSİ | rezerve edilmemiş | kesin olarak ayrılmamış | rezerve edilmemiş |
| AY | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| MSCK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| NAMESPACE | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| AD ALANLARı | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| DOĞAL | ayrılmış | kesin olarak ayrılmamış | ayrılmış |
| HAYIR | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| Not | ayrılmış | rezerve edilmemiş | ayrılmış |
| null | ayrılmış | rezerve edilmemiş | ayrılmış |
| Null Değerler | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| İN | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| AÇIK | ayrılmış | kesin olarak ayrılmamış | ayrılmış |
| SADECE | ayrılmış | rezerve edilmemiş | ayrılmış |
| SEÇENEK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| SEÇENEKLER | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| VEYA | ayrılmış | rezerve edilmemiş | ayrılmış |
| SİPARİŞ | ayrılmış | rezerve edilmemiş | ayrılmış |
| DIŞARIYA | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| DIŞ | ayrılmış | rezerve edilmemiş | ayrılmış |
| Çıkış Formatı | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ÜZERİNDE | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ÖRTÜŞMELER | ayrılmış | rezerve edilmemiş | ayrılmış |
| KAPLAMA | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ÜZERİNE YAZMAK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| PARTITION | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| BÖLÜMLENMİŞ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| BÖLÜMLER | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| YÜZDE | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| PIVOT | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| YERLEŞTİR -EREK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| KONUM | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| ÖNCEKİ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| BİRİNCİL | ayrılmış | rezerve edilmemiş | ayrılmış |
| OKUL MÜDÜRLERİ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ÖZELLİKLER | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| TEMİZLEME | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| QUALIFY | ayrılmış | rezerve edilmemiş | ayrılmış |
| SORGU | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ARALIK | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| ALICI | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| RECIPIENTS | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| Kayıt Okuyucu | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| Kayıt Yazıcı | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| İYİLEŞMEK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| AZALTMAK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| BAŞVURULAR | ayrılmış | rezerve edilmemiş | ayrılmış |
| REFRESH | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| REGEXP | rezerve edilmemiş | rezerve edilmemiş | anahtar sözcük değil |
| REMOVE | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| YENİDEN ADLANDIR | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ONARIM | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| DEĞİŞTİR | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| RESET | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| SAYGI | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| SINIRLAMAK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| REVOKE | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| DOĞRU | ayrılmış | kesin olarak ayrılmamış | ayrılmış |
| RLIKE | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ROL | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ROLLERİ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| GERİ ALMA | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| TOPLAMA | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| Sıra | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| SATIRLAR | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| SCHEMA | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ŞEMALAR | rezerve edilmemiş | rezerve edilmemiş | anahtar sözcük değil |
| İKİNCİ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| SELECT | ayrılmış | rezerve edilmemiş | ayrılmış |
| YARI | rezerve edilmemiş | kesin olarak ayrılmamış | rezerve edilmemiş |
| AYRILMIŞ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| SERDE | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| SERDEÖZELLİKLERİ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| OTURUM_KULLANICI | ayrılmış | rezerve edilmemiş | ayrılmış |
| SET | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| AYARLAR | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| PAYLAŞ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| SHARES | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| GÖSTER | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ÇARPITILMIŞ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| BAZI | ayrılmış | rezerve edilmemiş | ayrılmış |
| SIRALA | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| SIRA -LANMIŞ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| BAŞLANGIÇ | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| İSTATİSTİK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| DEPOLANMIŞ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| KATMANLAMA | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| Yapı | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ALT DIZE | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| Alt Dize | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| SYNC | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| TABLE | ayrılmış | rezerve edilmemiş | ayrılmış |
| TABLES | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| TABLESAMPLE | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| TBLPROPERTIES | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| Sıcaklık | rezerve edilmemiş | rezerve edilmemiş | anahtar sözcük değil |
| GEÇİCİ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| SONLANDIRILDI | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| SONRA | ayrılmış | rezerve edilmemiş | ayrılmış |
| ZAMAN | ayrılmış | rezerve edilmemiş | ayrılmış |
| HEDEF | ayrılmış | rezerve edilmemiş | ayrılmış |
| DOKUNUŞ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| IZLEYEN | ayrılmış | rezerve edilmemiş | ayrılmış |
| İŞLEM | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| İŞLEMLER | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| DÖNÜŞTÜRMEK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| SÜSLEMEK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| DOĞRU | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| Kısaltmak | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| TRY_CAST fonksiyonu | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| TÜR | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| ARŞIVSIZ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| SINIRSIZ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| UNCACHE | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| BİRLİK | ayrılmış | kesin olarak ayrılmamış | ayrılmış |
| EŞSİZ | ayrılmış | rezerve edilmemiş | ayrılmış |
| BİLİNMİYOR | ayrılmış | rezerve edilmemiş | ayrılmış |
| KİLİDİ AÇMAK | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| BELİRLENMEMİŞ | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| UPDATE | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| KULLANIM | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| KULLANICI | ayrılmış | rezerve edilmemiş | ayrılmış |
| KULLANMA | ayrılmış | kesin olarak ayrılmamış | ayrılmış |
| VALUES | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| GÖRÜNÜM | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| VIEWS | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| Ne zaman… | ayrılmış | rezerve edilmemiş | ayrılmış |
| WHERE | ayrılmış | rezerve edilmemiş | ayrılmış |
| WINDOW | rezerve edilmemiş | rezerve edilmemiş | ayrılmış |
| İLE | ayrılmış | rezerve edilmemiş | ayrılmış |
| YIL | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |
| BÖLGE | rezerve edilmemiş | rezerve edilmemiş | rezerve edilmemiş |