There is a list of features that SQLite does *not* support at http://www.sqlite.org/omitted.html. If you find additional features that SQLite does not support, you may want to list them below. ---- *: SQL92 Character sets, collations, coercibility. *: Inserting blob using X'AABBCCDD' syntax. *: Stored Procedures *: Rollup and Cube - _Who can tell me what this means?_ *: INSERT INTO with multiple rows (ie. INSERT INTO table VALUES (...), (...). etc) *: CREATE DATABASE, DROP DATABASE - _Does not seem meaningful for an embedded database engine like SQLite. To create a new database, just do sqlite_open(). To drop a database, delete the file._ *: ALTER VIEW, ALTER TRIGGER, ALTER TABLE *: Schemas - _Who can tell me what this means?_ *: TRUNCATE (MySQL, Postgresql and Oracle have it... but I dont know if this is a standard command) - _SQLite does this automatically when you do a DELETE without a WHERE clause._ *: ORDER BY myfield ASC NULLS LAST (Oracle) *: CREATE TRIGGER [BEFORE | AFTER | INSTEAD OF] (Oracle) *: UPDATE with a FROM clause (not sure if this is standard, Sybase and Microsoft have it). *: Multi-column IN clause (ie. SELECT * FROM tab WHERE (key1, key2) IN (SELECT...) *: CURRENT-Functions like CURRENT_DATE, CURRENT_TIME are missing *: INSERTing less values than columns does not fill the missing columns with the default values; if less values than columns in the table are supplied, all columns filled have to be named before the keyword values *: rename table command (mysql has) *: ESCAPE clause for LIKE *: DISTINCT ON (expr,...) - this is from Postgres, where expr,... must be the leftmost expressions from the ORDER BY clause *: MEDIAN and standard deviation... are they standard? Useful for sqlite standalone (for shell script users) *: enum column type (mysql does) *: join syntax (+) (-) like oracle has - _SQLite used to have this but it was removed because it is not standard SQL._ *: name columns in views (i.e. CREATE VIEW (foo, bar) AS SELECT qux, quo FROM baz;)