Megosztás a következőn keresztül:


ANSI-megfelelőség a Databricks Runtime-ban

A következőkre vonatkozik:check marked yes Databricks Runtime

Ez a cikk az ANSI-megfelelőséget ismerteti a Databricks Runtime-ban. A Databricks SQL ANSI-módjáról lásd : ANSI_MODE.

A Spark SQL két lehetőséggel támogatja az ANSI SQL szabványnak való megfelelést: spark.sql.ansi.enabled és spark.sql.storeAssignmentPolicy.

Ha spark.sql.ansi.enabled be van állítva, a trueSpark SQL ANSI-kompatibilis dialektust használ a Hive-kompatibilis helyett. A Spark például futásidőben kivételt ad vissza null eredmény helyett, ha egy SQL-operátor/függvény bemenetei érvénytelenek. Előfordulhat, hogy egyes ANSI-dialektusi funkciók nem közvetlenül az ANSI SQL-szabványból származnak, de viselkedésük megfelel az ANSI SQL stílusának.

A Spark SQL emellett egy független beállítással is rendelkezik az implicit öntési viselkedés szabályozására, amikor sorokat tárol egy táblában. Az öntési viselkedések a szabványban tároló-hozzárendelési szabályokként vannak definiálva.

Ha spark.sql.storeAssignmentPolicy be van állítva, a ANSISpark SQL megfelel az ANSI-tároló hozzárendelési szabályainak. Ez egy külön konfiguráció, mert az ANSIalapértelmezett értéke, míg a konfiguráció spark.sql.ansi.enabled alapértelmezés szerint le van tiltva.

Az alábbi táblázat összefoglalja a viselkedést:

Tulajdonság neve Alapértelmezett Értelmezés
spark.sql.ansi.enabled false Ha igaz, a Spark megpróbál megfelelni az ANSI SQL-specifikációnak:

* Futásidejű kivételt eredményez, ha túlcsordulás lép fel egy egész vagy decimális mező bármely műveletében.
* Megtiltja, hogy az ANSI SQL fenntartott kulcsszavait használja azonosítóként az SQL-elemzőben.
spark.sql.storeAssignmentPolicy ANSI Amikor egy értéket egy másik adattípusú oszlopba tárol, a Spark típuskonverziót hajt végre. A típus kényszerítő szabályainak három házirendje van: ANSI, legacyés strict.

* ANSI: A Spark az ANSI SQL-nek megfelelően hajtja végre a típuskényszert. A gyakorlatban a viselkedés többnyire megegyezik a PostgreSQL-ével. Letilt bizonyos ésszerűtlen típuskonverziókat, például a sztringek int vagy dupla logikai értékre való konvertálását.
* legacy: Spark lehetővé teszi a típus kényszerítése, amíg ez egy érvényes Cast, ami nagyon laza. A sztring átalakítása például int vagy double értékre logikai értékre engedélyezett. Ez az egyetlen viselkedés a Spark 2.x-ben, és kompatibilis a Hive-lel.
* strict: A Spark nem engedélyezi az esetleges pontosságvesztést vagy adatcsobolást a típuskényszerítésben, például a dupla int vagy decimális dupla értékre konvertálása nem engedélyezett.

Az alábbi alszakaszok viselkedésbeli változásokat mutatnak be az aritmetikai műveletekben, a típuskonverziókban és az SQL-elemzésekben, ha az ANSI mód engedélyezve van. A Spark SQL-ben a típuskonverziókhoz háromféle típus létezik, és ez a cikk egyenként mutatja be őket: öntött, tároló-hozzárendelés és típus kényszerítése.

Aritmetikai műveletek

A Spark SQL-ben a numerikus típusokon végrehajtott számtani műveletek (a tizedesvessző kivételével) alapértelmezés szerint nem ellenőrzik a túlcsordulásokat. Ez azt jelenti, hogy ha egy művelet túlcsordulást okoz, az eredmény megegyezik a Java- vagy Scala-programok megfelelő műveletével (ha például a 2 egész szám összege meghaladja a maximálisan ábrázolható értéket, az eredmény negatív szám). A Spark SQL viszont null értéket ad vissza a decimális túlcsordulásokhoz. Amikor spark.sql.ansi.enabled be van állítva true , és a szám- és intervallum-aritmetikai műveletekben túlcsordulás történik, futásidőben aritmetikai kivételt eredményez.

-- `spark.sql.ansi.enabled=true`
> SELECT 2147483647 + 1;
 error: integer overflow

-- `spark.sql.ansi.enabled=false`
> SELECT 2147483647 + 1;
  -2147483648

Cost

Ha spark.sql.ansi.enabled a trueszintaxis szerinti CAST explicit öntés futásidejű kivételt ad a szabványban definiált illegális öntött mintákra, például sztringről egész számra történő öntötteléssel.

A CAST Spark ANSI mód záradéka az ISO/IEC 9075-2:2011 informatikai technológia – Adatbázisnyelvek – SQL – 2. rész: Alap (SQL/Foundation) 6.13 "cast specification" szakaszának szintaxisszabályait követi, azzal a kivételrel, hogy kifejezetten engedélyezi a következő egyszerű típuskonverziókat, amelyek az ANSI-szabványnak megfelelően nem engedélyezettek:

  • Numerikus típus <=> Logikai típus
  • StringType <=> BinaryType

A forrás- és céladattípus érvényes kombinációit a következő táblázat adja meg egy kifejezésben CAST . Az "Y" azt jelzi, hogy a kombináció szintaktikailag korlátozás nélkül érvényes, az "N" pedig azt jelzi, hogy a kombináció érvénytelen.

SourceTarget Numerikus Sztring Dátum Időbélyegző Intervallum Logikai Bináris Tömb Térkép Struktúra
Numerikus I I N N N I N N N N
Sztring I I I I I I I N N N
Dátum N I I I N N N N N N
Időbélyegző N I I I N N N N N N
Intervallum N I N N I N N N N N
Logikai I I N N N I N N N N
Bináris I N N N N N I N N N
Tömb N N N N N N N I N N
Térkép N N N N N N N N I N
Struktúra N N N N N N N N N I
-- 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` (This is a default behavior)
> SELECT cast('a' AS INT);
  null

> SELECT CAST(2147483648L AS INT);
  -2147483648

> SELECT CAST(DATE'2020-01-01' AS INT);
  null

Áruház-hozzárendelés

A beállítás spark.sql.storeAssignmentPolicy alapértelmezés szerint a következő.ANSI Ezzel a beállítással, ha a forrásértékek adattípusai nem felelnek meg a céloszloptípusoknak, a Spark SQL automatikusan hozzáadja az ANSI CAST záradékokat az IN Standard kiadás RT utasításhoz. A házirend alatti táblázatbeszúrás során a Spark ellenőrzi és elutasítja az érvénytelen leadást, kivételt vetve az adatminőség biztosítása érdekében. Ez azt jelenti, hogy ha egy beszúrási kísérlet típuseltérés miatt meghiúsul, az nem eredményezi, hogy az adatok részben a táblába lesznek írva.

Példák:

-- 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

Ezek a példák azt mutatják, hogy a Spark SQL megakadályozza a nem kompatibilis adatok beszúrását, ezáltal fenntartva az adatintegritást.

Ha a spark.sql.storeAssignmentPolicy beállítás LEGACYértéke, a Spark SQL visszaáll a Spark 2.x-re jellemző viselkedésre. Ebben a módban az ANSI CAST használata helyett régi CAST-műveleteket alkalmaz. Ebben a szabályzatban a táblabeszúrások során érvénytelen leadások null értékeket vagy helytelen értékeket szúrnak be ahelyett, hogy kivételt okoznak. Példák:

-- 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)

Kényszerítés beírása

Írja be az előléptetést és az elsőbbségi sorrendet

Ha spark.sql.ansi.enabled be van állítva true, a Spark SQL több olyan szabályt használ, amelyek szabályozzák az adattípusok közötti ütközések feloldását. Ennek az ütközésfeloldásnak a középpontjában a Típus elsőbbsége lista áll, amely meghatározza, hogy egy adott adattípus értékei implicit módon előléptethetők-e egy másik adattípusra.

Adattípus elsőbbségi lista (a legszűkebbtől a legszélesebbig)
Bájt Bájt – Rövid –> Int – Hosszú –> Decimális –>> Lebegőpontos* –> Dupla>
Rövid Rövid -> Int -> Long -> Decimal-> Float* -> Double
Int Int –> Hosszú –> Decimális –> Lebegőpontos* –> Dupla
Hosszú Hosszú -> Decimális -> Lebegőpontos* -> Dupla
Decimális Decimális –> Lebegőpontos* –> Dupla
Lebegőpontos értékek Lebegtetés –> Dupla
Dupla Dupla
Dátum Dátum –> Időbélyeg
Időbélyegző Időbélyegző
Sztring Sztring
Bináris Bináris
Logikai Logikai
Intervallum Intervallum
Térkép Megjelenítése**
Tömb Tömb**
Struktúra Struct**
  • A minimálisan gyakori típusfeloldási lebegőpontos lebegőpontosság kihagyása a pontosság elvesztésének elkerülése érdekében.

** Összetett típus esetén az elsőbbségi szabály rekurzívan vonatkozik az összetevő elemeire.

A sztringtípusra és a nem beírt NULL típusra speciális szabályok vonatkoznak. A NULL bármilyen más típusra előléptethető, míg a sztringek bármilyen egyszerű adattípusra előléptethetők.

Ez az elsőbbségi lista grafikus ábrázolása irányított faként: Graphical representation of precedence rules

Legkevésbé gyakori típusfeloldás

A típusok közül a legkevésbé gyakori típus a típusok összes eleme által elérhető legszűkebb típus az elsőbbségi listából.

A legkevésbé gyakori típusfeloldás a következő műveletekre használható:

  • Döntse el, hogy egy típus paraméterét váró függvény meghívható-e egy szűkebb típusú argumentum használatával.
  • Olyan függvények argumentumtípusának származtatása, amelyek megosztott argumentumtípust várnak több paraméterhez, például a legkisebb vagy a legnagyobb értékhez.
  • Az operátorok operandustípusait( például aritmetikai műveleteket vagy összehasonlításokat) származtathatja.
  • Származtathatja a kifejezés eredménytípusát, például a kis- és nagybetűket.
  • A tömb- és térképkonstruktorok elem-, kulcs- vagy értéktípusainak kinyerése.

A rendszer speciális szabályokat alkalmaz, ha a legkevésbé gyakori típus float-ra van feloldva. Lebegőpontos típusértékek esetén, ha bármelyik típus INT, BIGINT vagy DECIMAL típusú, akkor a rendszer a legkevésbé gyakori típust dupla értékre küldi, hogy elkerülje a számjegyek esetleges elvesztését.

-- 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-függvények

Egyes SQL-függvények viselkedése az ANSI módban (spark.sql.ansi.enabled=true) eltérő lehet.

  • size: Ez a függvény null értéket ad vissza a null bemenethez ANSI módban.
  • element_at:
    • Ez a függvény érvénytelen indexek ArrayIndexOutOfBoundsException használata esetén dob.
    • Ez a függvény dob, NoSuchElementException ha a kulcs nem létezik a térképen.
  • elt: Ez a függvény érvénytelen indexek ArrayIndexOutOfBoundsException használata esetén dob.
  • make_date: Ez a függvény kivétellel meghiúsul, ha az eredménydátum érvénytelen.
  • make_timestamp: Ez a függvény kivétellel meghiúsul, ha az eredmény időbélyege érvénytelen.
  • make_interval: Ez a függvény kivétellel meghiúsul, ha az eredményintervallum érvénytelen.
  • next_day: Ez a függvény akkor jelenik meg IllegalArgumentException , ha a bemenet nem érvényes hétnap.
  • parse_url: Ez a függvény akkor jelenik IllegalArgumentException meg, ha egy bemeneti sztring nem érvényes URL-cím.
  • to_date: Ez a függvény kivétellel meghiúsul, ha a bemeneti sztring nem elemezhető, vagy a mintasztring érvénytelen.
  • to_timestamp: Ez a függvény kivétellel meghiúsul, ha a bemeneti sztring nem elemezhető, vagy a mintasztring érvénytelen.
  • to_unix_timestamp: Ez a függvény kivétellel meghiúsul, ha a bemeneti sztring nem elemezhető, vagy a mintasztring érvénytelen.
  • unix_timestamp: Ez a függvény kivétellel meghiúsul, ha a bemeneti sztring nem elemezhető, vagy a mintasztring érvénytelen.

SQL-operátorok

Egyes SQL-operátorok viselkedése az ANSI módban (spark.sql.ansi.enabled=true) eltérő lehet.

  • array_col[index]: Ez az operátor érvénytelen indexek ArrayIndexOutOfBoundsException használata esetén dob.
  • map_col[key]: Ez az operátor dob, NoSuchElementException ha a kulcs nem létezik a térképen.
  • CAST(string_col AS TIMESTAMP): Ez az operátor kivétellel meghiúsul, ha a bemeneti sztring nem elemezhető.
  • CAST(string_col AS DATE): Ez az operátor kivétellel meghiúsul, ha a bemeneti sztring nem elemezhető.

Hasznos függvények AZ ANSI módhoz

Ha az ANSI mód be van kapcsolva, kivételeket ad az érvénytelen műveletekhez. Az alábbi SQL-függvényekkel letilthatja az ilyen kivételeket.

  • try_cast: megegyezik azzal a kivétellel CAST, hogy a futásidejű hiba kivétele helyett eredményt ad vissza NULL .
  • try_add: megegyezik a hozzáadási operátorral +, azzal a kivétellel, hogy az eredményt adja vissza NULL ahelyett, hogy kivételt ad az integrálérték-túlcsordulásra.
  • try_divide: megegyezik az osztás operátorával /, azzal a kivétellel, hogy a 0 osztása helyett eredményt ad vissza NULL .

SQL-kulcsszavak

Ha spark.sql.ansi.enabled igaz, a Spark SQL az ANSI módelemzőt fogja használni. Ebben a módban a Spark SQL kétféle kulcsszóval rendelkezik:

  • Fenntartott kulcsszavak: Fenntartott kulcsszavak, amelyek nem használhatók tábla, nézet, oszlop, függvény, alias stb. azonosítójaként.
  • Nem fenntartott kulcsszavak: Azok a kulcsszavak, amelyek különleges jelentéssel bírnak, csak bizonyos kontextusokban, és más környezetekben is használhatók azonosítóként. Például egy parancs, EXPLAIN SELECT ... de a EXPLAIN más helyeken is használható azonosítóként.

Ha az ANSI mód le van tiltva, a Spark SQL kétféle kulcsszóval rendelkezik:

  • Nem fenntartott kulcsszavak: Ugyanaz a definíció, mint az ANSI-mód engedélyezésekor.
  • Szigorúan nem fenntartott kulcsszavak: A nem fenntartott kulcsszavak szigorú verziója, amely nem használható táblaaliasként.

Alapértelmezés szerint spark.sql.ansi.enabled hamis.

Az alábbi lista a Spark SQL összes kulcsszóját tartalmazza.

Kulcsszó Spark SQL ANSI mód Spark SQL alapértelmezett mód SQL-2016
HOZZÁADÁS nem fenntartott nem fenntartott nem fenntartott
UTÁNA nem fenntartott nem fenntartott nem fenntartott
ALL (összes) Fenntartva nem fenntartott Fenntartva
ALTER nem fenntartott nem fenntartott Fenntartva
MINDIG nem fenntartott nem fenntartott nem fenntartott
ELEMEZNI nem fenntartott nem fenntartott nem fenntartott
ÉS Fenntartva nem fenntartott Fenntartva
ANTI nem fenntartott szigorúan nem fenntartott nem fenntartott
BÁRMELY Fenntartva nem fenntartott Fenntartva
ARCHÍVUM nem fenntartott nem fenntartott nem fenntartott
TÖMB nem fenntartott nem fenntartott Fenntartva
AS Fenntartva nem fenntartott Fenntartva
ASC nem fenntartott nem fenntartott nem fenntartott
AT nem fenntartott nem fenntartott Fenntartva
ENGEDÉLYEZÉSI Fenntartva nem fenntartott Fenntartva
BETWEEN nem fenntartott nem fenntartott Fenntartva
MIND Fenntartva nem fenntartott Fenntartva
VÖDÖR nem fenntartott nem fenntartott nem fenntartott
VÖDÖR nem fenntartott nem fenntartott nem fenntartott
BY nem fenntartott nem fenntartott Fenntartva
GYORSÍTÓTÁR nem fenntartott nem fenntartott nem fenntartott
CASCADE nem fenntartott nem fenntartott nem fenntartott
CASE Fenntartva nem fenntartott Fenntartva
CAST Fenntartva nem fenntartott Fenntartva
MÓDOSÍTÁSA nem fenntartott nem fenntartott nem fenntartott
ELLENŐRIZZE Fenntartva nem fenntartott Fenntartva
EGYÉRTELMŰ nem fenntartott nem fenntartott nem fenntartott
FÜRT nem fenntartott nem fenntartott nem fenntartott
FÜRTÖZÖTT nem fenntartott nem fenntartott nem fenntartott
CODEGEN nem fenntartott nem fenntartott nem fenntartott
LEVÁLOGATÁS Fenntartva nem fenntartott Fenntartva
GYŰJTEMÉNY nem fenntartott nem fenntartott nem fenntartott
OSZLOP Fenntartva nem fenntartott Fenntartva
OSZLOPOK nem fenntartott nem fenntartott nem fenntartott
MEGJEGYZÉST nem fenntartott nem fenntartott nem fenntartott
ELKÖVETNI nem fenntartott nem fenntartott Fenntartva
KOMPAKT nem fenntartott nem fenntartott nem fenntartott
TÖMÖRÍTÉSEK nem fenntartott nem fenntartott nem fenntartott
SZÁMÍTÁS nem fenntartott nem fenntartott nem fenntartott
ÖSSZEFŰZ nem fenntartott nem fenntartott nem fenntartott
MEGKÖTÉS Fenntartva nem fenntartott Fenntartva
KÖLTSÉGEK nem fenntartott nem fenntartott nem fenntartott
CREATE Fenntartva nem fenntartott Fenntartva
KERESZT Fenntartva szigorúan nem fenntartott Fenntartva
KOCKA nem fenntartott nem fenntartott Fenntartva
JELENLEGI nem fenntartott nem fenntartott Fenntartva
CURRENT_DATE Fenntartva nem fenntartott Fenntartva
CURRENT_TIME Fenntartva nem fenntartott Fenntartva
CURRENT_TIMESTAMP Fenntartva nem fenntartott Fenntartva
CURRENT_U Standard kiadás R Fenntartva nem fenntartott Fenntartva
ADATOK nem fenntartott nem fenntartott nem fenntartott
ADATBÁZIS nem fenntartott nem fenntartott nem fenntartott
ADATBÁZIS-KEZELÉS nem fenntartott nem fenntartott nem fenntartott
DAY nem fenntartott nem fenntartott nem fenntartott
DBPROPERTIES nem fenntartott nem fenntartott nem fenntartott
MEGHATÁROZOTT nem fenntartott nem fenntartott nem fenntartott
Törlés... nem fenntartott nem fenntartott Fenntartva
TAGOLT nem fenntartott nem fenntartott nem fenntartott
DESC nem fenntartott nem fenntartott nem fenntartott
LEÍRNI nem fenntartott nem fenntartott Fenntartva
DFS nem fenntartott nem fenntartott nem fenntartott
KÖNYVTÁRAK nem fenntartott nem fenntartott nem fenntartott
KÖNYVTÁR nem fenntartott nem fenntartott nem fenntartott
KÜLÖNBÖZŐ Fenntartva nem fenntartott Fenntartva
TERJESZTENI nem fenntartott nem fenntartott nem fenntartott
DIV nem fenntartott nem fenntartott nem kulcsszó
DROP nem fenntartott nem fenntartott Fenntartva
EL Standard kiadás Fenntartva nem fenntartott Fenntartva
VÉGÉN Fenntartva nem fenntartott Fenntartva
MENEKÜLÉS Fenntartva nem fenntartott Fenntartva
MEGSZÖKÖTT nem fenntartott nem fenntartott nem fenntartott
KIVÉVE Fenntartva szigorúan nem fenntartott Fenntartva
EXCHANGE nem fenntartott nem fenntartott nem fenntartott
LÉTEZIK nem fenntartott nem fenntartott Fenntartva
EXPLAIN nem fenntartott nem fenntartott nem fenntartott
EXPORT nem fenntartott nem fenntartott nem fenntartott
EXTENDED nem fenntartott nem fenntartott nem fenntartott
KÜLSŐ nem fenntartott nem fenntartott Fenntartva
KIVONAT nem fenntartott nem fenntartott Fenntartva
HAMIS Fenntartva nem fenntartott Fenntartva
CSEL Fenntartva nem fenntartott Fenntartva
MEZŐK nem fenntartott nem fenntartott nem fenntartott
SZŰRŐ Fenntartva nem fenntartott Fenntartva
FILEFORMAT nem fenntartott nem fenntartott nem fenntartott
FIRST nem fenntartott nem fenntartott nem fenntartott
FN nem fenntartott nem fenntartott nem fenntartott
KÖVETKEZŐ nem fenntartott nem fenntartott nem fenntartott
FOR Fenntartva nem fenntartott Fenntartva
KÜLFÖLDI Fenntartva nem fenntartott Fenntartva
FORMÁTUM nem fenntartott nem fenntartott nem fenntartott
FORMÁZOTT nem fenntartott nem fenntartott nem fenntartott
FROM Fenntartva nem fenntartott Fenntartva
TELJES Fenntartva szigorúan nem fenntartott Fenntartva
FUNKCIÓ nem fenntartott nem fenntartott Fenntartva
FÜGGVÉNYEK nem fenntartott nem fenntartott nem fenntartott
GENERÁLT nem fenntartott nem fenntartott nem fenntartott
GLOBÁLIS nem fenntartott nem fenntartott Fenntartva
GRANT Fenntartva nem fenntartott Fenntartva
TÁMOGATÁSOK nem fenntartott nem fenntartott nem fenntartott
CSOPORT Fenntartva nem fenntartott Fenntartva
CSOPORTOSÍTÁS nem fenntartott nem fenntartott Fenntartva
MIUTÁN Fenntartva nem fenntartott Fenntartva
ÓRA nem fenntartott nem fenntartott nem fenntartott
IF nem fenntartott nem fenntartott nem kulcsszó
IGNORE nem fenntartott nem fenntartott nem fenntartott
IMPORTÁLÁSA nem fenntartott nem fenntartott nem fenntartott
IN Fenntartva nem fenntartott Fenntartva
INDEX nem fenntartott nem fenntartott nem fenntartott
INDEXEK nem fenntartott nem fenntartott nem fenntartott
BELSŐ Fenntartva szigorúan nem fenntartott Fenntartva
INPATH nem fenntartott nem fenntartott nem fenntartott
INPUTFORMAT nem fenntartott nem fenntartott nem fenntartott
INSERT nem fenntartott nem fenntartott Fenntartva
METSZET Fenntartva szigorúan nem fenntartott Fenntartva
INTERVALLUM nem fenntartott nem fenntartott Fenntartva
INTO Fenntartva nem fenntartott Fenntartva
IS Fenntartva nem fenntartott Fenntartva
ELEMEK nem fenntartott nem fenntartott nem fenntartott
JOIN Fenntartva szigorúan nem fenntartott Fenntartva
KULCS nem fenntartott nem fenntartott nem fenntartott
KULCSOK nem fenntartott nem fenntartott nem fenntartott
LAST nem fenntartott nem fenntartott nem fenntartott
OLDALSÓ Fenntartva szigorúan nem fenntartott Fenntartva
LUSTA nem fenntartott nem fenntartott nem fenntartott
VEZETŐ Fenntartva nem fenntartott Fenntartva
LEFT Fenntartva szigorúan nem fenntartott Fenntartva
MINT nem fenntartott nem fenntartott Fenntartva
ILIKE nem fenntartott nem fenntartott nem fenntartott
KORLÁTOZ nem fenntartott nem fenntartott nem fenntartott
VONALAK nem fenntartott nem fenntartott nem fenntartott
LISTA nem fenntartott nem fenntartott nem fenntartott
TERHELÉS nem fenntartott nem fenntartott nem fenntartott
HELYI nem fenntartott nem fenntartott Fenntartva
HELY nem fenntartott nem fenntartott nem fenntartott
ZÁR nem fenntartott nem fenntartott nem fenntartott
ZÁRAK nem fenntartott nem fenntartott nem fenntartott
LOGIKAI nem fenntartott nem fenntartott nem fenntartott
MAKRÓ nem fenntartott nem fenntartott nem fenntartott
MEGJELENÍTÉSE nem fenntartott nem fenntartott nem fenntartott
KIEGYENLÍTETT nem fenntartott nem fenntartott nem fenntartott
EGYESÍTÉSE nem fenntartott nem fenntartott nem fenntartott
PERCES nem fenntartott nem fenntartott nem fenntartott
MÍNUSZ nem fenntartott szigorúan nem fenntartott nem fenntartott
MONTH nem fenntartott nem fenntartott nem fenntartott
MSCK nem fenntartott nem fenntartott nem fenntartott
NÉVTÉR nem fenntartott nem fenntartott nem fenntartott
NÉVTEREK nem fenntartott nem fenntartott nem fenntartott
TERMÉSZETES Fenntartva szigorúan nem fenntartott Fenntartva
NEM nem fenntartott nem fenntartott Fenntartva
NEM Fenntartva nem fenntartott Fenntartva
NULL Fenntartva nem fenntartott Fenntartva
NULLÉRTÉKEK nem fenntartott nem fenntartott nem fenntartott
OF nem fenntartott nem fenntartott Fenntartva
ON Fenntartva szigorúan nem fenntartott Fenntartva
CSAK Fenntartva nem fenntartott Fenntartva
OPTION nem fenntartott nem fenntartott nem fenntartott
BEÁLLÍTÁSOK nem fenntartott nem fenntartott nem fenntartott
VAGY Fenntartva nem fenntartott Fenntartva
RENDELÉS Fenntartva nem fenntartott Fenntartva
KI nem fenntartott nem fenntartott Fenntartva
KÜLSŐ Fenntartva nem fenntartott Fenntartva
OUTPUTFORMAT nem fenntartott nem fenntartott nem fenntartott
ÁT nem fenntartott nem fenntartott nem fenntartott
ÁTFEDÉSEK Fenntartva nem fenntartott Fenntartva
OVERLAY nem fenntartott nem fenntartott nem fenntartott
FELÜLÍRJA nem fenntartott nem fenntartott nem fenntartott
PARTÍCIÓ nem fenntartott nem fenntartott Fenntartva
PARTICIONÁLT nem fenntartott nem fenntartott nem fenntartott
PARTÍCIÓK nem fenntartott nem fenntartott nem fenntartott
SZÁZALÉK nem fenntartott nem fenntartott nem fenntartott
PIVOT nem fenntartott nem fenntartott nem fenntartott
FORGALOMBA nem fenntartott nem fenntartott nem fenntartott
HELYZETBEN nem fenntartott nem fenntartott Fenntartva
ELŐZŐ nem fenntartott nem fenntartott nem fenntartott
Elsődleges Fenntartva nem fenntartott Fenntartva
MEGBÍZÓK nem fenntartott nem fenntartott nem fenntartott
TULAJDONSÁGOK nem fenntartott nem fenntartott nem fenntartott
PURGE nem fenntartott nem fenntartott nem fenntartott
JOGOSULT Fenntartva nem fenntartott Fenntartva
LEKÉRDEZÉS nem fenntartott nem fenntartott nem fenntartott
TARTOMÁNY nem fenntartott nem fenntartott Fenntartva
CÍMZETT nem fenntartott nem fenntartott nem fenntartott
CÍMZETTEK nem fenntartott nem fenntartott nem fenntartott
RECORDREADER nem fenntartott nem fenntartott nem fenntartott
REKORDÍRÓ nem fenntartott nem fenntartott nem fenntartott
VISSZASZEREZ nem fenntartott nem fenntartott nem fenntartott
CSÖKKENTI nem fenntartott nem fenntartott nem fenntartott
HIVATKOZÁSOK Fenntartva nem fenntartott Fenntartva
REFRESH nem fenntartott nem fenntartott nem fenntartott
REGEXP nem fenntartott nem fenntartott nem kulcsszó
ELTÁVOLÍTÁS nem fenntartott nem fenntartott nem fenntartott
RENAME nem fenntartott nem fenntartott nem fenntartott
JAVÍTÁS nem fenntartott nem fenntartott nem fenntartott
REPLACE nem fenntartott nem fenntartott nem fenntartott
RESET nem fenntartott nem fenntartott nem fenntartott
TISZTELET nem fenntartott nem fenntartott nem fenntartott
KORLÁTOZZA nem fenntartott nem fenntartott nem fenntartott
REVOKE nem fenntartott nem fenntartott Fenntartva
RIGHT Fenntartva szigorúan nem fenntartott Fenntartva
RLIKE nem fenntartott nem fenntartott nem fenntartott
SZEREPKÖR nem fenntartott nem fenntartott nem fenntartott
SZEREPKÖRÖK nem fenntartott nem fenntartott nem fenntartott
VISSZAGURÍTÁS nem fenntartott nem fenntartott Fenntartva
ÖSSZESÍTŐ nem fenntartott nem fenntartott Fenntartva
SOR nem fenntartott nem fenntartott Fenntartva
SOROK nem fenntartott nem fenntartott Fenntartva
SÉMA nem fenntartott nem fenntartott nem fenntartott
SÉMÁK nem fenntartott nem fenntartott nem kulcsszó
Standard kiadás COND nem fenntartott nem fenntartott nem fenntartott
SELECT Fenntartva nem fenntartott Fenntartva
Standard kiadás MI nem fenntartott szigorúan nem fenntartott nem fenntartott
Standard kiadás PARATED nem fenntartott nem fenntartott nem fenntartott
Standard kiadás RDE nem fenntartott nem fenntartott nem fenntartott
Standard kiadás RDEPROPERTIES nem fenntartott nem fenntartott nem fenntartott
Standard kiadás SSION_U Standard kiadás R Fenntartva nem fenntartott Fenntartva
SET nem fenntartott nem fenntartott Fenntartva
Standard kiadás TS nem fenntartott nem fenntartott nem fenntartott
MEGOSZTÁS nem fenntartott nem fenntartott nem fenntartott
RÉSZVÉNYEK nem fenntartott nem fenntartott nem fenntartott
TÉRKÉP nem fenntartott nem fenntartott nem fenntartott
FERDE nem fenntartott nem fenntartott nem fenntartott
NÉHÁNY Fenntartva nem fenntartott Fenntartva
RENDEZÉS nem fenntartott nem fenntartott nem fenntartott
RENDEZVE nem fenntartott nem fenntartott nem fenntartott
INDÍTÁS nem fenntartott nem fenntartott Fenntartva
STATISZTIKÁK nem fenntartott nem fenntartott nem fenntartott
TÁROLT nem fenntartott nem fenntartott nem fenntartott
STRATIFY nem fenntartott nem fenntartott nem fenntartott
STRUCT nem fenntartott nem fenntartott nem fenntartott
SUBSTR nem fenntartott nem fenntartott nem fenntartott
SUBSTRING nem fenntartott nem fenntartott nem fenntartott
SZINKRONIZÁL nem fenntartott nem fenntartott nem fenntartott
TÁBLÁZAT Fenntartva nem fenntartott Fenntartva
TÁBLÁK nem fenntartott nem fenntartott nem fenntartott
TABLESAMPLE nem fenntartott nem fenntartott Fenntartva
TBLPROPERTIES nem fenntartott nem fenntartott nem fenntartott
TEMP nem fenntartott nem fenntartott nem kulcsszó
IDEIGLENES nem fenntartott nem fenntartott nem fenntartott
MEGSZŰNIK nem fenntartott nem fenntartott nem fenntartott
AKKOR Fenntartva nem fenntartott Fenntartva
TIME Fenntartva nem fenntartott Fenntartva
TO Fenntartva nem fenntartott Fenntartva
ÉRINT nem fenntartott nem fenntartott nem fenntartott
ZÁRÓ Fenntartva nem fenntartott Fenntartva
TRANZAKCIÓ nem fenntartott nem fenntartott nem fenntartott
TRANZAKCIÓK nem fenntartott nem fenntartott nem fenntartott
ÁTALAKÍTANI nem fenntartott nem fenntartott nem fenntartott
TRIM nem fenntartott nem fenntartott nem fenntartott
IGAZ nem fenntartott nem fenntartott Fenntartva
MEGCSONKÍT nem fenntartott nem fenntartott Fenntartva
TRY_CAST nem fenntartott nem fenntartott nem fenntartott
TÍPUS nem fenntartott nem fenntartott nem fenntartott
ARCHIVÁLATLAN nem fenntartott nem fenntartott nem fenntartott
KORLÁTOS nem fenntartott nem fenntartott nem fenntartott
UNCACHE nem fenntartott nem fenntartott nem fenntartott
UNIÓ Fenntartva szigorúan nem fenntartott Fenntartva
EGYEDI Fenntartva nem fenntartott Fenntartva
ISMERETLEN Fenntartva nem fenntartott Fenntartva
KINYIT nem fenntartott nem fenntartott nem fenntartott
UN Standard kiadás T nem fenntartott nem fenntartott nem fenntartott
UPDATE nem fenntartott nem fenntartott Fenntartva
USE nem fenntartott nem fenntartott nem fenntartott
FELHASZNÁLÓ Fenntartva nem fenntartott Fenntartva
HASZNÁL Fenntartva szigorúan nem fenntartott Fenntartva
ÉRTÉKEK nem fenntartott nem fenntartott Fenntartva
MEGTEKINTÉS nem fenntartott nem fenntartott nem fenntartott
KILÁTÁS NYÍLIK nem fenntartott nem fenntartott nem fenntartott
Amikor… Fenntartva nem fenntartott Fenntartva
WHERE Fenntartva nem fenntartott Fenntartva
ABLAK nem fenntartott nem fenntartott Fenntartva
WITH Fenntartva nem fenntartott Fenntartva
YEAR nem fenntartott nem fenntartott nem fenntartott
ZÓNA nem fenntartott nem fenntartott nem fenntartott