# SQL (Structured Query Language) ## Agenda - SQL Clients - The SQL query language and its parts and functions - Data Definition - Creating Tables, Views & Indexes - Defining Constraints - Data Manipulation - Inserting data - Updating data - Deleting data - Data Query - Selecting data - Aggregate Functions - Aggregation and Grouping - Subquires (Nested queries) - Joins and Relational Algebra with SQL - Projection - Selection - Union - Equijoins, Natural Joins, Inner & Outer Joins - Additional topics - Modern SQL - Inner & Outer Joins - Recursive Common Table Expressions (CTEs) ## References ### Academic References 1. Sönke Cordts, Gerold Blakowski, Gerhard Brosius: Datenbanken für Wirtschaftsinformatiker: Nach dem aktuellen Standard SQL:2008, Auflage: 2011, Vieweg+Teubner Verlag, ISBN-13: 978-3834813824. 2. Avi Silberschatz, Henry F. Korth, S. Sudarshan: [Database System](https://www.db-book.com/) [Concepts](https://www.db-book.com/) [- 7th](https://www.db-book.com/) [edition](https://www.db-book.com/), McGraw-Hill, ISBN 9780078022159. 3. [Vorlesung "Datenmanagement mit SQL"](https://open.hpi.de/courses/sql) (HPI, Prof. Dr. Felix Naumann) ### Some open-source SQL databases 4. [MySQL Developer Zone](https://dev.mysql.com) - [MySQL Hands-On Lab Manual](https://www.oracle.com/technetwork/community/developer-day/mysql-hands-on-lab-403032.pdf) 5. [MariaDB](https://mariadb.org) 6. [PostgreSQL](https://www.postgresql.org) ### SQL Tutorials, Simulators and Helpers 8. [sql.js demo](https://www.db-book.com/university-lab-dir/sqljs.html) : Online SQL interpreter 9. [DB Quacks - Interactive SQL & DuckDB Tutorial](https://dbquacks.com/tutorial/1) 10. [Online SQL Trainer](https://sql-academy.org/en/trainer?sort=byId) 11. [SQL Learning Game](http://www.sql-island.de/) 12. [SQL Tutorial: Learn SQL from Scratch for Beginners](https://www.sqltutorial.org/) 13. [SQL Tutorial](https://www.w3schools.com/sql/) 14. [sqlfmt](https://www.cockroachlabs.com/blog/sql-fmt-online-sql-formatter/?utm_campaign=nl-email&utm_source=mkto&utm_medium=email&utm_term=september-monthly-newsletter&utm_content=newsletter-2021-9&mkt_tok=MzUwLVFJTi04MjcAAAF_QUVud0lphe4Tmfj9DxdPSqV3GFbIJCsHkNvXM-nzGjalQdGt8RqKDxCzalgbYz_I3DPE-tH0RmyWKm26prO1awzY7tF9du-bdJPoW66P): A SQL formatter for writing prettier SQL 15. [SQL Quiz](https://www.w3schools.com/quiztest/quiztest.asp?qtest=SQL) 16. [SQL Practice Questions](https://techbeamers.com/sql-query-questions-answers-for-practice/) 17. [SQLBolt - Learn SQL - Introduction to SQL](https://sqlbolt.com/) 18. [SQL Q&A](https://www.tutorialspoint.com/sql/sql_questions_answers.htm) 19. DBSim: - [DBSim: Extensible Database Simulator for Fast Prototyping In-Database Algorithms – Data Science Research](https://dsr.cise.ufl.edu/dbsim-extensible-database-simulator-for-fast-prototyping-in-database-algorithms/index.html) - [Extensible Database Simulator for Fast Prototyping In-Database Algorithms \| Proceedings of the 31st ACM International Conference on Information & Knowledge Management](https://dl.acm.org/doi/10.1145/3511808.3557205) - [DBSim Codebase](https://github.com/wyfunique/DBSim) ### SQL Sample Databases 20. [Other MySQL Documentation](https://dev.mysql.com/doc/index-other.html) incl. Sakila - [MySQL queries on the sakila database](https://github.com/cantugabriela/Sakila-Queries-MySQL) 21. [MySQL ClassicModels Sample Database](https://www.mysqltutorial.org/getting-started-with-mysql/mysql-sample-database/) ### Further Online References 22. [Modern SQL](https://modern-sql.com/de) 23. [Modern SQL: Three-Valued Logic (3VL) — Purpose, Benefits and Special Cases](https:/modern-sql.com/concept/three-valued-logic) 24. [Extended Backus-Naur-Form](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_Form) ## The person behind it [Donald D. Chamberlin - Wikipedia](https://en.wikipedia.org/wiki/Donald_D._Chamberlin) ## Flashcards [Structured Query Language SQL - AnkiWeb](https://ankiweb.net/shared/info/1980255676)