SQL for Software Engineers
A comprehensive course designed to equip software engineers with the essential SQL skills for efficient data management and application development.
...
Share
Introduction to Relational Databases and SQL
Unit 1: RDBMS Fundamentals
What is a Database?
RDBMS Explained
Why Use SQL?
Client-Server Model
Setting Up Your Env
Unit 2: SQL Basics
SQL: A Quick Tour
SQL Data Types
Operators in SQL
Comments in SQL
Unit 3: Data Definition Language (DDL)
Creating Databases
Creating Tables
Altering Tables
Dropping Tables
Dropping Databases
Unit 4: Data Manipulation Language (DML)
Inserting Data
Updating Data
Deleting Data
Basic Data Retrieval with SELECT Statements
Unit 1: Introduction to SELECT Statements
The Power of SELECT
Targeted Columns
AS Keyword
Calculations in SELECT
Distinct Values
Unit 2: Filtering Data with WHERE Clause
WHERE Basics
Equal Operator
Not Equal Operator
Greater/Less Than
BETWEEN Operator
Unit 3: Sorting and Logical Operators
ORDER BY Basics
Descending Order
AND Operator
OR Operator
NOT Operator
Aggregate Functions and Grouping
Unit 1: Introduction to Aggregate Functions
What are Aggregates?
Counting Rows with COUNT
Summing Values with SUM
Averaging Values with AVG
Finding Min and Max
Unit 2: Grouping Data with GROUP BY
Intro to GROUP BY
Grouping by One Column
Grouping by Multiple Columns
Aliases in GROUP BY
Order of Operations
Unit 3: Filtering Grouped Data with HAVING
Intro to HAVING
HAVING and Aggregate Funct
WHERE vs. HAVING
Complex HAVING Conditions
HAVING Clause Pitfalls
Joining Data from Multiple Tables
Unit 1: Understanding Relational Data and Joins
Why Relational Databases?
Keys: Primary & Foreign
Intro to Joins
Unit 2: Inner Joins
Inner Join Basics
Specifying Join Columns
Filtering Joined Data
Inner Join with 3+ Tables
Unit 3: Outer Joins
Left Join: All of the Left
Right Join: All of the Right
Full Outer Join
Filtering Outer Joins
Unit 4: Advanced Join Techniques
Self Joins
Cross Joins
Non-Equi Joins
Common Join Mistakes
Subqueries
Unit 1: Introduction to Subqueries
What are Subqueries?
Subquery Syntax
Subquery Types
Unit 2: Subqueries in the WHERE Clause
IN Operator
EXISTS Operator
Comparison Operators
Unit 3: Subqueries in SELECT and FROM Clauses
Scalar Subqueries
Table Subqueries
Common Table Expressions
Unit 4: Correlated Subqueries
Correlated Subqueries
Practical Use Cases
Unit 5: Advanced Subquery Techniques
Nested Subqueries
Optimizing Subqueries
Subquery Alternatives
Subquery Best Practices
Window Functions
Unit 1: Introduction to Window Functions
What are Window Functions?
OVER() Clause Explained
PARTITION BY: Divide & Conquer
ORDER BY: Within the Window
Framing the Window
Unit 2: Ranking Functions
RANK() Function
DENSE_RANK() Function
ROW_NUMBER() Function
NTILE() Function
Ranking Function Comparison
Unit 3: Aggregate Window Functions
SUM() as a Window Func
AVG() as a Window Func
MIN() and MAX() Windows
FIRST_VALUE() Function
LAST_VALUE() Function
Transaction Management
Unit 1: Introduction to Transactions and ACID Properties
What is a Transaction?
ACID: Atomicity
ACID: Consistency
ACID: Isolation
ACID: Durability
Unit 2: Controlling Transactions: COMMIT and ROLLBACK
Starting a Transaction
COMMIT: Saving Changes
ROLLBACK: Undoing Changes
COMMIT vs. ROLLBACK
Savepoints
Unit 3: Managing Concurrency and Isolation Levels
Concurrency Issues
Isolation Levels
Read Uncommitted
Read Committed
Repeatable Read
Unit 4: Handling Transaction Failures
Serializable
Detecting Failures
Rolling Back on Failure
Database Security
Unit 1: Database Security Fundamentals
Security: The Big Picture
Authentication Basics
Authorization Explained
Network Security Basics
Data Encryption Intro
Unit 2: User Privileges and Access Control
GRANT Demystified
REVOKE: Taking Back Access
Roles: Grouping Privileges
Views for Security
Auditing Database Access
Unit 3: SQL Injection and Prevention
SQL Injection: What Is It?
Parameterized Queries
Input Validation
Escaping User Input
Least Privilege Revisited