Full-Featured SQL 
   Do not be misled by the "Lite" in the name. SQLite has a full-featured SQL implementation, including: 
 - 
Tables, indexes, triggers, and views in unlimited quantity 
- Up to 32K columns in a table and unlimited rows 
- Multi-column indexes 
- Indexes can use DESC and COLLATE 
- 
Partial indexes 
- 
Indexes On Expressions 
- 
Clustered indexes 
- 
Covering indexes 
- 
CHECK, UNIQUE, NOT NULL, and FOREIGN KEY constraints. 
- ACID transactions using BEGIN, COMMIT, and ROLLBACK 
- Nested transactions using SAVEPOINT, RELEASE, and ROLLBACK TO 
- 
Subqueries, including correlated subqueries 
- Up to 64-way joins 
- LEFT, RIGHT, and FULL OUTER JOINs 
- DISTINCT, ORDER BY, GROUP BY, HAVING, LIMIT, and OFFSET 
- UNION, UNION ALL, INTERSECT, and EXCEPT 
- A rich library of standard SQL functions 
- 
Aggregate functions including DISTINCT aggregates 
- 
Window functions 
- 
UPDATE, DELETE, and INSERT (of course) 
- 
Common table expressions including recursive common table expressions 
- 
Row values 
- 
UPSERT 
- An advanced query planner 
- 
Full-text search 
- 
R-tree indexes 
- 
JSON support 
- The IS operator 
- 
Table-valued functions 
- 
REPLACE INTO 
- 
VACUUM 
- 
REINDEX 
- The GLOB operator 
- 
Hexadecimal integer literals 
- The ON CONFLICT clause 
- The INDEXED BY clause 
- 
Virtual tables 
- Multiple databases on the same database connection using ATTACH DATABASE 
- The ability to add application-defined SQL functions, including aggregate and table-valued functions. 
- 
Application-defined collating functions 
 There are many more features not listed above. SQLite may be small in size and have "Lite" in its name, but it is not lacking in capability.