db-academy.io/sql_parser reference implementation in Rust
The following list of SQL statements, taken from the official SQLite documentation, is ordered by difficulty and the time required for implementation, from easier and quicker to harder and more time-consuming. There are exceptions where certain statements are simpler to implement than the preceding ones. These exceptions are intentional and made solely for grouping related statements.
- literal-value ✅
- bind-parameter✅
- identifiers✅
- unary-operator✅
- binary-operator✅
- function✅
- parenthesized-expression✅
- cast-expression✅
- collate-expression✅
- like-expression✅
- null-expression✅
- expression-from-expression✅
- between-expression✅
- expression-in-select✅
- exists-expression✅
- case-expression✅
- raise-function✅
- insert-with-values ✅
- insert-as-select ✅
- insert-with-upsert ✅
- insert-as-default ✅
- insert-with-returning ✅
- insert-with-cte ✅
- replace-stmt ✅