# SQL
[[Databases]] [[Programming Languages]]
A [[Database Query Languages|query language]] for [[Relational Databases]], basically a programmatic way of describing [[Relational Algebra]].
It is problematic for trees, graphs and for temporal queries however, for example [[Funnel Analytics]].
## Tools
- [[Redash]]
- [[dbt]]
- [[PostgreSQL]]
- [[MySQL]]
- [[SQLite]]
- [[Aurora MySQL]]
- [[pgchameleon]]
## Books
- [[BOOK - SQL Performance Explained - Markus Winand]]
- [[BOOK - Joe Celko's SQL for Smarties - Joe Celko]]
- [[BOOK - Joe Celko's SQL Puzzles Answers - Joe Celko]]
- [[BOOK - The Data Warehouse Toolkit - Ralph Kimball Margy Ross]]
- [[BOOK - Joe Celko's Thinking in Sets - Joe Celko]]
- [[BOOK - Foundations of Databases - Serge Abiteboul, Richard Hull, Victor Vianu]]
## Links
- [Everything Is a Funnel, But SQL Doesn’t Get It | by Motif Analytics | Jun, 2022 | Medium](https://motifanalytics.medium.com/everything-is-a-funnel-but-sql-doesnt-get-it-c35356424044)
- [Has SQL gone too far? - by Benn Stancil - benn.substack](https://benn.substack.com/p/has-sql-gone-too-far)
A long post by [[Jamie Brandon]] listing all the things that are quirky and annoying and bad about [[SQL]], putting things into perspective, especially as [[SQL]] is the only widespread implementation of [[Relational Algebra]] that we have in the industry:
- [Against SQL](https://www.scattered-thoughts.net/writing/against-sql/)
## Libraries
- [[OpalEye]] - a [[Haskell]] library with advanced [[Type systems|type safety]]
- Even more advanced [[Type systems|type safety]] with [[Squeal]]
## ZK
- [[ZK - Make SQL first class from the beginning]]