予約および制限されたキーワード¶
Snowflake SQL は、すべての ANSI キーワード(CHAR、 DATE、 DECIMAL型などのキーワードを除く)と、その他の一般的なデータベースによって予約されている追加キーワード(ASC、 DESC、 MINUSなど)を予約しています。さらに、Snowflakeはキーワード REGEXP および RLIKE ( ANSI 予約キーワード LIKE と同様に機能)および SOME ( ANSI 予約キーワード ANYの同義語)を予約しています。
曖昧さの解析を避けるために、Snowflake SQL は、 FROM リスト内のテーブル名またはエイリアスとしての LEFT、 OUTER、 JOINなどのキーワードの使用、および列としての TRUE、 FALSE、 CASEなどのキーワードをスカラー式の列参照としての使用を禁止しています。
次の表には、Snowflakeで予約されているキーワードと、厳密には予約されていないが使用制限があるキーワードのリストが示されています。
| キーワード | コメント | 
|---|---|
| A | |
| ACCOUNT | SHOW コマンドの識別子として使用できません(例:'SHOW ... IN <識別子>')。 | 
| ALL | ANSIによって予約されています。 | 
| ALTER | ANSIによって予約されています。 | 
| AND | ANSIによって予約されています。 | 
| ANY | ANSIによって予約されています。 | 
| AS | ANSIによって予約されています。 | 
| B | |
| BETWEEN | ANSIによって予約されています。 | 
| BY | ANSIによって予約されています。 | 
| C | |
| CASE | スカラー式の列参照としては使用できません。 | 
| CAST | スカラー式の列参照としては使用できません。 | 
| CHECK | ANSIによって予約されています。 | 
| COLUMN | ANSIによって予約されています。 | 
| CONNECT | ANSIによって予約されています。 | 
| CONNECTION | SHOW コマンドの識別子として使用できません(例:'SHOW ... IN <識別子>')。 | 
| CONSTRAINT | CREATE TABLE DDLの列名としては使用できません。 | 
| CREATE | ANSIによって予約されています。 | 
| CROSS | FROM 句のテーブル名またはエイリアスとしては使用できません。 | 
| CURRENT | ANSIによって予約されています。 | 
| CURRENT_DATE | 列名としては使用できません( ANSIによって予約されています)。 | 
| CURRENT_TIME | 列名としては使用できません( ANSIによって予約されています)。 | 
| CURRENT_TIMESTAMP | 列名としては使用できません( ANSIによって予約されています)。 | 
| CURRENT_USER | 列名としては使用できません( ANSIによって予約されています)。 | 
| D | |
| DATABASE | SHOW コマンドの識別子として使用できません(例:'SHOW ... IN <識別子>')。 | 
| DELETE | ANSIによって予約されています。 | 
| DISTINCT | ANSIによって予約されています。 | 
| DROP | ANSIによって予約されています。 | 
| E | |
| ELSE | ANSIによって予約されています。 | 
| EXISTS | ANSIによって予約されています。 | 
| F | |
| FALSE | スカラー式の列参照としては使用できません。 | 
| FOLLOWING | ANSIによって予約されています。 | 
| FOR | ANSIによって予約されています。 | 
| FROM | ANSIによって予約されています。 | 
| FULL | FROM 句のテーブル名またはエイリアスとしては使用できません。 | 
| G | |
| GRANT | ANSIによって予約されています。 | 
| GROUP | ANSIによって予約されています。 | 
| GSCLUSTER | SHOW コマンドの識別子として使用できません(例:'SHOW ... IN <識別子>')。 | 
| H | |
| HAVING | ANSIによって予約されています。 | 
| I | |
| ILIKE | Snowflakeによって予約されています。 | 
| IN | ANSIによって予約されています。 | 
| INCREMENT | Snowflakeなどによって予約されています。 | 
| INNER | FROM 句のテーブル名またはエイリアスとしては使用できません。 | 
| INSERT | ANSIによって予約されています。 | 
| INTERSECT | ANSIによって予約されています。 | 
| INTO | ANSIによって予約されています。 | 
| IS | ANSIによって予約されています。 | 
| ISSUE | SHOW コマンドの識別子として使用できません(例:'SHOW ... IN <識別子>')。 | 
| J | |
| JOIN | FROM 句のテーブル名またはエイリアスとしては使用できません。 | 
| L | |
| LATERAL | FROM 句のテーブル名またはエイリアスとしては使用できません。 | 
| LEFT | FROM 句のテーブル名またはエイリアスとしては使用できません。 | 
| LIKE | ANSIによって予約されています。 | 
| LOCALTIME | 列名としては使用できません( ANSIによって予約されています)。 | 
| LOCALTIMESTAMP | 列名としては使用できません( ANSIによって予約されています)。 | 
| M | |
| MINUS | Snowflakeなどによって予約されています。 | 
| N | |
| NATURAL | FROM 句のテーブル名またはエイリアスとしては使用できません。 | 
| NOT | ANSIによって予約されています。 | 
| NULL | ANSIによって予約されています。 | 
| O | |
| OF | ANSIによって予約されています。 | 
| ON | ANSIによって予約されています。 | 
| OR | ANSIによって予約されています。 | 
| ORDER | ANSIによって予約されています。 | 
| ORGANIZATION | SHOW コマンドの識別子として使用できません(例:'SHOW ... IN <識別子>')。 | 
| Q | |
| QUALIFY | Snowflakeによって予約されています。 | 
| R | |
| REGEXP | Snowflakeによって予約されています。 | 
| REVOKE | ANSIによって予約されています。 | 
| RIGHT | FROM 句のテーブル名またはエイリアスとしては使用できません。 | 
| RLIKE | Snowflakeによって予約されています。 | 
| ROW | ANSIによって予約されています。 | 
| ROWS | ANSIによって予約されています。 | 
| S | |
| SAMPLE | ANSIによって予約されています。 | 
| SCHEMA | SHOW コマンドの識別子として使用できません(例:'SHOW ... IN <識別子>')。 | 
| SELECT | ANSIによって予約されています。 | 
| SET | ANSIによって予約されています。 | 
| SOME | Snowflakeによって予約されています。 | 
| START | ANSIによって予約されています。 | 
| T | |
| TABLE | ANSIによって予約されています。 | 
| TABLESAMPLE | ANSIによって予約されています。 | 
| THEN | ANSIによって予約されています。 | 
| TO | ANSIによって予約されています。 | 
| TRIGGER | ANSIによって予約されています。 | 
| TRUE | スカラー式の列参照としては使用できません。 | 
| TRY_CAST | スカラー式の列参照としては使用できません。 | 
| U | |
| UNION | ANSIによって予約されています。 | 
| UNIQUE | ANSIによって予約されています。 | 
| UPDATE | ANSIによって予約されています。 | 
| USING | FROM 句のテーブル名またはエイリアスとしては使用できません。 | 
| V | |
| VALUES | ANSIによって予約されています。 | 
| VIEW | SHOW コマンドの識別子として使用できません(例:'SHOW ... IN <識別子>')。 | 
| W | |
| WHEN | スカラー式の列参照としては使用できません。 | 
| WHENEVER | ANSIによって予約されています。 | 
| WHERE | ANSIによって予約されています。 | 
| WINDOW | ANSIによって予約されています。 | 
| WITH | ANSIによって予約されています。 |