Sql databázového stroje Microsoft Accessu obecně vyhovuje standardu ANSI -89 Level 1. Některé funkce ANSI SQL však nejsou v Microsoft Access SQL implementovány. Microsoft Access SQL také obsahuje rezervovaná slova a funkce, které ANSI SQL nepodporuje.
Hlavní rozdíly
-
Microsoft Access SQL a ANSI SQL mají různá vyhrazená slova a datové typy. Pomocí zprostředkovatele Microsoft OLE DB existují další vyhrazená slova.
-
Na mezi... se vztahují různá pravidla ... A konstruktor, který má následující syntaxi:
výraz1 [NOT] Between value1 And value2
V Microsoft Access SQL může být hodnota1 větší než hodnota2; v ANSI SQL musí být hodnota1 rovna nebo menší než hodnota2.
-
Microsoft Access SQL podporuje zástupné znaky ANSI SQL i Zástupné znaky specifické pro Microsoft Access pro použití s operátorem Like . Použití zástupných znaků ANSI a Microsoft Accessu se vzájemně vylučuje. Musíte použít jednu nebo druhou sadu a nemůžete je kombinovat. Zástupné cardy ANSI SQL jsou k dispozici pouze při použití databázového stroje Microsoft Access a zprostředkovatele Microsoft Access OLE DB. Pokud se pokusíte použít zástupné cardy ANSI SQL prostřednictvím Access nebo DAO, budou interpretovány jako literály.
Odpovídající znak
Microsoft Access SQL
ANSI SQL
Libovolný jednotlivý znak
?
_ (podtržítko)
Nula nebo více znaků
*
%
-
Microsoft Access SQL je obecně méně omezující. Umožňuje například seskupování a řazení podle výrazů.
-
Microsoft Access SQL podporuje výkonnější výrazy.
Rozšířené funkce Microsoft Access SQL
Microsoft Access SQL poskytuje následující rozšířené funkce:
Příkaz TRANSFORM, který poskytuje podporu křížových dotazů.
-
Další agregační funkce SQL, například StDev a VarP.
Deklarace PARAMETERS pro definování parametrových dotazů.
Funkce ANSI SQL, které nejsou podporovány v Microsoft Access SQL
Microsoft Access SQL nepodporuje následující funkce ANSI SQL:
-
Odkazy na agregační funkce DISTINCT Microsoft Access SQL například nepovoluje funkci SUMA(DISTINCT název_sloupce).
-
Klauzule LIMIT TO nn ROWS slouží k omezení počtu řádků vrácených dotazem. K omezení rozsahu dotazu můžete použít pouze Klauzule WHERE.