Databricks Runtime'da ANSI uyumluluğu

Şunun için geçerlidir:Evet olarak işaretlendi Databricks SQL Evet olarak işaretlendi 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 ANSI ayarlanır ve ayarından spark.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, tamsayı taşması hataları ve dize ayrıştırma hataları gibi geçersiz işlemler sırasında çalışma zamanı istisnaları verir.
  • Spark, veri türleri arasındaki çakışmaları çözmek için farklı tür zorlama kuralları kullanır. Kurallar tutarlı bir şekilde veri türü önceliğini temel 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.
  • ANSI: Spark, ANSI SQL'e göre tür zorlaması gerçekleştirir. Pratikte davranış çoğunlukla PostgreSQL ile aynıdır. Dizeden int'e veya double'dan boole'ye dönüştürme gibi bazı mantıksız tür dönüştürmelerine izin vermiyor.
  • legacy: Spark, oldukça esnek olan geçerli bir dönüştürme olduğu sürece tür zorlamasına izin verir. Örneğin, dizeyi tamsayıya veya double'ı mantıksal değere dönüştürmek mümkündür. Ayrıca Spark 2.x'teki tek davranıştır ve Hive ile uyumludur.
  • strict: Spark, tür dönüşümünde olası hassasiyet kaybına veya veri kesilmesine izin vermez; örneğin, double'ı int'e veya ondalığı double'a dönüştürmeye izin verilmez.

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: Öncelik kurallarının grafik gösterimi

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 ArrayIndexOutOfBoundsException kullanıldığında bu işlev bir hata atar.
    • Bu işlev, haritada anahtar yoksa NoSuchElementException fırlatır.
  • elt: Bu işlev, geçersiz dizinler kullanılıyorsa ArrayIndexOutOfBoundsException fı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şturur IllegalArgumentException .
  • parse_url: Giriş dizesi geçerli bir URL değilse, bu işlev IllegalArgumentException atar.
  • 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ıyorsa ArrayIndexOutOfBoundsException fırlatır.
  • map_col[key]: Haritada anahtar yoksa, NoSuchElementException atar.
  • 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, CAST ile aynıdır, ancak bir çalışma zamanı hatası oluştuğunda özel durum oluşturmak yerine NULL sonucunu 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ç NULL dö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ür NULL .

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 da EXPLAIN baş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ş