📣 Turn database knowledge into real SQL mastery.
📘 Database – SQL (Projects & Practice)
SQL mastery through real projects and serious practice
🗝️ About This Course
This is the seventeenth course in your programming journey, after:
1️⃣ Programming Foundations – Level 1
2️⃣ Algorithms & Problem Solving – Level 1
3️⃣ Introduction to Programming with C++ – Level 1
4️⃣ Algorithms & Problem Solving – Level 1 (Clean Code Solutions)
5️⃣ Algorithms & Problem Solving – Level 2
6️⃣ Introduction to Programming Using C++ – Level 2
7️⃣ Algorithms & Problem Solving – Level 3
8️⃣ Algorithms & Problem Solving – Level 4
9️⃣ Foundations – Level 2
🔟 OOP as it Should Be – Concepts
1️⃣1️⃣ OOP as it Should Be – Applications
1️⃣2️⃣ Data Structures – Level 1
1️⃣3️⃣ Algorithms & Problem Solving – Level 5
1️⃣4️⃣ C# – Level 1
1️⃣5️⃣ Database – Level 1 (SQL: Concepts & Practice)
1️⃣6️⃣ OOP as It Should Be in C#
At this point in the roadmap, you already:
🔹 Understand databases deeply from a conceptual and design perspective
🔹 Know how to design databases using ERD and relational schema
🔹 Understand keys, constraints, normalization, and data integrity
🔹 Write correct SQL queries and understand how they work internally
🔹 Know how database design affects performance and scalability
Now comes the most important step:
👉 Turning knowledge into skill through practice.
This course exists because databases are mastered by doing, not by reading.
🔐 What Makes This Course Different?
🔹 This is a pure practical course — no theory repetition
🔹 Focuses on real projects and real problem sets
🔹 Forces you to think like a database designer and SQL professional
🔹 Covers real-world querying patterns used in production systems
🔹 Builds speed, confidence, and correctness in SQL
This course solves a common problem:
👉 Knowing SQL syntax but being slow and uncertain when facing real tasks.
📖 What You Will Practice and Master?
By the end of this course, you will be able to:
🔹 Design complete databases from requirements
🔹 Convert requirements into ERD and relational schemas
🔹 Apply normalization correctly in real projects
🔹 Work confidently with real datasets
🔹 Write complex SQL queries without hesitation
🔹 Master advanced querying through 50+ SQL problems, including:
▫️ Filtering, sorting, grouping, and aggregation
▫️ Complex joins and multi-table queries
▫️ Subqueries, views, and calculated columns
▫️ EXISTS, CASE, UNION, and conditional logic
▫️ Performance-aware querying patterns
🔹 Handle real scenarios such as:
▫️ Clinics, libraries, clubs, rentals, and online stores
▫️ Self-referential relationships (employees & managers)
▫️ GUID usage and data importing
▫️ Data extraction and restructuring
🧱 How This Course Is Structured?
🔹 Starts with database design projects (ERD-focused)
🔹 Moves into real SQL problem solving step by step
🔹 Problems increase gradually in difficulty
🔹 Solutions are explained clearly and professionally
🔹 Reinforces habits that scale to large databases
📌 This course is about fluency, not memorization.
🧑💻 Who This Course Is For?
✅ Students who completed Database – Level 1 (SQL: Concepts & Practice)
✅ Backend developers who want real SQL confidence
✅ Developers who want to work faster with databases
✅ Data Analysts, Data Scientists, and AI practitioners who need strong SQL skills
✅ Anyone who wants to stop struggling with real database tasks
❌ Not for learners who skip practice or avoid problem-solving
⚠️ What This Course Is NOT?
❌ Not a theory or concept course
❌ Not a shortcut to SQL mastery
❌ Not optional if you want real backend strength
📌 Practice is where database skills are built or broken.
🎓 Certification & Learning Outcomes
Upon completion, you will earn a
Certificate in Database – SQL (Projects & Practice), verifying your ability to:
🔹 Design databases from requirements
🔹 Write complex, correct SQL queries
🔹 Handle real datasets and real scenarios
🔹 Apply database knowledge in production-ready systems
🎓 Final Outcome
After completing this course, you will:
🔹 Feel confident when facing any SQL task
🔹 Design and query databases without hesitation
🔹 Write cleaner, faster, and more reliable SQL
🔹 Be fully prepared for advanced databases and backend systems
🧠 Databases are mastered by practice — this course is where that mastery happens.
Course Content
- Project 1 - Simple Clinic (Requirements)
- Project 1 - Simple Clinic (Solution) (19:11)
- Project 2 - Simple Library (Requirements)
- Project 2 - Simple Library (Solution) (22:39)
- Project 3 - Karate Club (Requirements)
- Project 3 - Karate Club (Solution) (18:30)
- Project 4 - Car Rental (Requirements)
- Project 4 - Car Rental (Solution) (23:56)
- Project 5 - Online Store (Requirements)
- Project 5 - Online Store (Solution) (13:36)
- Sample Database To Practice On
- Explain Schema (15:13)
- Problem 1: Create Master View (5:46)
- Problem 2: Get all vehicles made between 1950 and 2000 (1:59)
- Problem 3 : Get number vehicles made between 1950 and 2000 (1:09)
- Problem 4 : Get number vehicles made between 1950 and 2000 per make and order them by Number Of Vehicles Descending (3:55)
- Problem 5 : Get All Makes that have manufactured more than 12000 Vehicles in years 1950 to 2000 (8:53)
- Problem 6: Get number of vehicles made between 1950 and 2000 per make and add total vehicles column beside (4:59)
- Problem 7: Get number of vehicles made between 1950 and 2000 per make and add total vehicles column beside it, then calculate it's percentage (6:10)
- Problem 8: Get Make, FuelTypeName and Number of Vehicles per FuelType per Make (3:38)
- Problem 9: Get all vehicles that runs with GAS (2:14)
- Problem 10: Get all Makes that runs with GAS (2:09)
- Problem 11: Get Total Makes that runs with GAS (3:01)
- Problem 12: Count Vehicles by make and order them by NumberOfVehicles from high to low. (2:03)
- Problem 13: Get all Makes/Count Of Vehicles that manufactures more than 20K Vehicles (3:27)
- Problem 14: Get all Makes with make starts with 'B'
- Problem 15: Get all Makes with make ends with 'W'
- Problem 16: Get all Makes that manufactures DriveTypeName = FWD
- Problem 17: Get total Makes that Mantufactures DriveTypeName=FWD
- Problem 18: Get total vehicles per DriveTypeName Per Make and order them per make asc then per total Desc
- Problem 19: Get total vehicles per DriveTypeName Per Make then filter only results with total > 10,000
- Problem 20: Get all Vehicles that number of doors is not specified
- Problem 21: Get Total Vehicles that number of doors is not specified
- Problem 22: Get percentage of vehicles that has no doors specified
- Problem 23: Get MakeID , Make, SubModelName for all vehicles that have SubModelName 'Elite'
- Problem 24: Get all vehicles that have Engines > 3 Liters and have only 2 doors
- Problem 25: Get make and vehicles that the engine contains 'OHV' and have Cylinders = 4
- Problem 26: Get all vehicles that their body is 'Sport Utility' and Year > 2020
- Problem 27: Get all vehicles that their Body is 'Coupe' or 'Hatchback' or 'Sedan'
- Problem 28: Get all vehicles that their body is 'Coupe' or 'Hatchback' or 'Sedan' and manufactured in year 2008 or 2020 or 2021
- Problem 29: Return found=1 if there is any vehicle made in year 1950
- Problem 30: Get all Vehicle_Display_Name, NumDoors and add extra column to describe number of doors by words, and if door is null display 'Not Set' (6:18)
- Problem 31: Get all Vehicle_Display_Name, year and add extra column to calculate the age of the car then sort the results by age desc.
- Problem 32: Get all Vehicle_Display_Name, year, Age for vehicles that their age between 15 and 25 years old
- Problem 33: Get Minimum Engine CC , Maximum Engine CC , and Average Engine CC of all Vehicles
- Problem 34: Get all vehicles that have the minimum Engine_CC
- Problem 35: Get all vehicles that have the Maximum Engine_CC
- Problem 36: Get all vehicles that have Engin_CC below average
- Problem 37: Get total vehicles that have Engin_CC above average
- Problem 38: Get all unique Engin_CC and sort them Desc
- Problem 39: Get the maximum 3 Engine CC
- Problem 40: Get all vehicles that has one of the Max 3 Engine CC
- Problem 41: Get all Makes that manufactures one of the Max 3 Engine CC
- Problem 42: Get a table of unique Engine_CC and calculate tax per Engine CC
- Problem 43: Get Make and Total Number Of Doors Manufactured Per Make
- Problem 44: Get Total Number Of Doors Manufactured by 'Ford'
- Problem 45: Get Number of Models Per Make
- Problem 46: Get the highest 3 manufacturers that make the highest number of models
- Problem 47: Get the highest number of models manufactured
- Problem 48: Get the highest Manufacturers manufactured the highest number of models
- Problem 49: Get the Lowest Manufacturers manufactured the lowest number of models
- Problem 50: Get all Fuel Types , each time the result should be showed in random order
- Restore this simple Database First.
- Problem 51: Get all employees that have manager along with Manager's name.
- Problem 52: Get all employees that have manager or does not have manager along with Manager's name, incase no manager name show null
- Problem 53: Get all employees that have manager or does not have manager along with Manager's name, incase no manager name the same employee name as manager to himself
- Problem 54: Get All Employees managed by 'Mohammed'