This repository contains a collection of SQL labs, progressing from basic queries to advanced server-side logic. The queries were written for a sample database (e.g., coffee sales, points of sale) to solve specific business and analytical problems.
All queries in this project are based on the following relational database schema:
This portfolio demonstrates a strong understanding of database operations, including:
- Foundational Queries:
SELECT,WHERE,COUNT,GROUP BY,ORDER BY,LIKE, andAVG. - Complex Joins:
INNER JOINandLEFT JOINacross multiple (up to 8) normalized tables. - Data Filtering: Advanced
WHEREclauses, subqueries (WHERE...IN), and date range filtering. - Data Aggregation:
GROUP BYon multiple columns and filtering results withHAVING. - Database Objects:
- Creating and using
VIEWsto simplify complex queries. - Creating
STORED PROCEDURESto encapsulate business logic, handle parameters, and raise errors. - Implementing
TRIGGERSto automatically maintain data integrity or create audit logs.
- Creating and using
The labs are organized by complexity:
- /labo1-basics/
- Contains foundational
SELECTstatements, filtering, and aggregation.
- Contains foundational
- /labo2-advanced-queries/
- Focuses on complex data retrieval using multi-table
JOINs,VIEWs, and subqueries.
- Focuses on complex data retrieval using multi-table
- /labo3-server-logic/
- Demonstrates server-side logic using
CREATE PROCEDUREandCREATE TRIGGER.
- Demonstrates server-side logic using
