With a limited vocabulary, SQL is a relatively efficient language (comparedto many other programming languages); the SQL:2003 standard defines about 300 keywords out of which vendors have so far implemented only a small subset.
Oracle 11 g lists more than 100 keywords (and many more used in PL/SQL and database administration commands and flags; the full list of the reserved keywords in Oracle 11 g could be retrieved from
V$RESERVED_WORDS view), IBM DB2 9.5 has more than 300 keywords, and Microsoft SQL Server 2008 reserves more than 200 keywords. Most of the vendor-reserved keywords are found in the SQL:2003 standard, but many more exist. None of these reserved words should be used as a variable identifier; such use would affect the portability of your SQL code. On some systems, doing so will generate an error (
SQLSTATE 42939). Fortunately, many GUI-based SQL editors (for example, Microsoft Query Analyzer, TOAD, WinSQL, and so on) highlight the keywords of the particular dialect.
In addition to keywords listed here, each vendor also has a list of keywords reserved for future use. These lists are constantly updated. Refer to the particular RDBMS documentation.
I SQL-Reserved Keywords
SQL:2003 standard reserved keywords:
ABS CHARACTER CURRENT_USER ALL CHAR_LENGTH CURSOR ALLOCATE CHARACTER_LENGTH CYCLE ALTER CHECK DATE AND CLOB DAY ANY CLOSE DEALLOCATE ARE COALESCE DEC ARRAY COLLATE DECIMAL AS COLLECT DECLARE ASENSITIVE COLUMN DEFAULT ASYMMETRIC COMMIT ...