SQL as a declarative language
SQL as a declarative language
Data definition language (DDL)
Data definition language (DDL)
Data manipulation language (DML)
Data manipulation language (DML)
Data control language (DCL)
Data control language (DCL)
Transaction control language (TCL)
Transaction control language (TCL)
Relational database essentials
Relational database essentials
Databases vs spreadsheets
Databases vs spreadsheets
Relational schemas - Primary key
Relational schemas - Primary key
Relational schemas - Foreign key
Relational schemas - Foreign key
Relational schemas - Unique key and null values
Relational Schemas - Unique key
Relational Schemas – Relationships
Creating a Database - Part I
Creating a Database - Part I - exercise
Creating a Database - Part I - solution
Creating a Database - Part II
Creating a Database - Part II - exercise
Creating a Database - Part II - solution
Introduction to data types
Introduction to data types
Fixed and floating-point data types
Fixed and floating-point data types
Creating a table - exercise
Creating a table - solution
Using databases and tables
Using databases and tables - exercise
Using databases and tables - solution
Additional notes on using tables
Additional notes on using tables
Additional notes on using tables - exercise
PRIMARY KEY constraint - exercise
PRIMARY KEY constraint - solution
FOREIGN KEY constraint - Part I
FOREIGN KEY constraint - Part II
FOREIGN KEY constraint - Part II - exercise
FOREIGN KEY constraint - Part II - solution
UNIQUE Constraint - exercise
DEFAULT Constraint - exercise
DEFAULT Constraint - solution
NOT NULL Constraint - Part I
NOT NULL Constraint - Part I - exercise
NOT NULL Constraint - Part I - solution
NOT NULL Constraint - Part II
Operator precedence - exercise
Operator precedence - solution
LIKE - NOT LIKE - exercise
LIKE - NOT LIKE - solution
Wildcard characters - exercise
Wildcard characters - solution
IS NOT NULL - IS NULL - exercise
IS NOT NULL - IS NULL - solution
Other comparison operators
Other comparison operators - exercise
Other comparison operators - solution
SELECT DISTINCT - exercise
SELECT DISTINCT - solution
Introduction to aggregate functions
Introduction to aggregate functions - exercise
Introduction to aggregate functions - solution
Using Aliases (AS) - exercise
Using Aliases (AS) - solution
WHERE vs HAVING - Part II - exercise
WHERE vs HAVING - Part II - solution
The INSERT statement - Part I
The INSERT statement - Part II
The INSERT statement - exercise 1
The INSERT statement - solution 1
The INSERT statement - exercise 2
The INSERT statement - solution 2
Inserting data INTO a new table
Inserting Data INTO a New Table - exercise
Inserting Data INTO a New Table - solution
TCL's COMMIT and ROLLBACK
The UPDATE Statement - Part I
The UPDATE Statement - Part II
The UPDATE Statement – Part II - exercise
The UPDATE Statement – Part II - solution
The DELETE Statement - Part I
The DELETE Statement - Part II
The DELETE Statement – Part II - exercise
The DELETE Statement – Part II - solution
DROP vs TRUNCATE vs DELETE
DROP vs TRUNCATE vs DELETE
MIN() and MAX() - exercise
MIN() and MAX() - solution
Another Example of Using COALESCE()
Another example of using COALESCE() - exercise 1
Another example of using COALESCE() - solution 1
Another example of using COALESCE() - exercise 2
Another example of using COALESCE() - solution 2
Another example of using COALESCE()
Intro to JOINs - exercise 1
Intro to JOINs - solution 1
Intro to JOINs - exercise 2
INNER JOIN - Part II - exercise
INNER JOIN - Part II - solution
LEFT JOIN - Part II - exercise
LEFT JOIN - Part II - solution
The new and the old join syntax
The new and the old join syntax - exercise
The new and the old join syntax - solution
JOIN and WHERE Used Together
Important – Prevent Error Code: 1055!
JOIN and WHERE Used Together - exercise
JOIN and WHERE Used Together - solution
Using Aggregate Functions with Joins
JOIN more than two tables in SQL
Join more than two tables in SQL - exercise
Join more than two tables in SQL - solution
Tips and tricks for joins
Tips and tricks for joins - exercise
Tips and tricks for joins - solution
UNION vs UNION ALL - exercise
UNION vs UNION ALL - solution
SQL Subqueries with IN nested inside WHERE
SQL Subqueries with IN nested inside WHERE - exercise
SQL Subqueries with IN nested inside WHERE - solution
SQL Subqueries with EXISTS-NOT EXISTS nested inside WHERE
SQL Subqueries with EXISTS-NOT EXISTS nested inside WHERE - exercise
SQL Subqueries with EXISTS-NOT EXISTS nested inside WHERE - solution
SQL Subqueries nested in SELECT and FROM
SQL Subqueries nested in SELECT and FROM - exercise 1
SQL Subqueries nested in SELECT and FROM - solution 1
SQL Subqueries nested in SELECT and FROM - exercise 2
SQL Subqueries nested in SELECT and FROM - solution 2
Introduction to stored routines
Introduction to Stored Routines
The MySQL syntax for stored procedures
Stored procedures - Example - Part I
Stored procedures - Example - Part II
Stored procedures - Example - Part II - exercise
Stored procedures - Example - Part II - solution
Another way to create a procedure
Stored procedures with an input parameter
Stored procedures with an output parameter
Stored procedures with an output parameter - exercise
Stored procedures with an output parameter - solution
User-defined functions in MySQL
User-defined functions in MySQL - exercise
User-defined functions in MySQL - solution
Stored routines - conclusion
Stored routines - conclusion
Types of MySQL Variables - Local Variables
Types of MySQL Variables - Local Variables
User-Defined vs System Variables
User-Defined vs System Variables
MySQL Triggers - exercise
MySQL Triggers - solution
MySQL Indexes - exercise 1
MySQL Indexes - solution 1
MySQL Indexes - exercise 2
MySQL Indexes - solution 2
The CASE Statement - exercise 1
The CASE Statement - solution 1
The CASE Statement - exercise 2
The CASE Statement - solution 2
The CASE Statement - exercise 3
The CASE Statement - solution 3
Introduction to MySQL Window Functions
The ROW_NUMBER() Ranking Window Function and the Relevant MySQL Syntax
The ROW_NUMBER() Ranking Window Function - Exercises
The ROW_NUMBER() Ranking Window Function - Solution
A Note on Using Several Window Functions in a Query
A Note on Using Several Window Functions - Exercise
A Note on Using Several Window Functions - Solution
MySQL Window Functions Syntax
MySQL Window Functions Syntax - Exercise
MySQL Window Functions Syntax - Solution
The PARTITION BY Clause VS the GROUP BY Clause
The PARTITION BY Clause VS the GROUP BY Clause - Exercise
The PARTITION BY Clause VS the GROUP BY Clause - Solution
The MySQL RANK() and DENSE_RANK() Window Functions
The MySQL RANK() and DENSE_RANK() Window Functions - Exercise
The MySQL RANK() and DENSE_RANK() Window Functions - Solution
Working with MySQL Ranking Window Functions and Joins Together
Working with MySQL Ranking Window Functions and Joins Together - Exercise
Working with MySQL Ranking Window Functions and Joins Together - Solution
The LAG() and LEAD() Value Window Functions
The LAG() and LEAD() Value Window Functions - Exercise
The LAG() and LEAD() Value Window Functions - Solution
MySQL Aggregate Functions in the Context of Window Functions - Part I
MySQL Aggregate Functions in the Context of Window Functions - Part I-Exercise
MySQL Aggregate Functions in the Context of Window Functions - Part I-Solution
MySQL Aggregate Functions in the Context of Window Functions - Part II
MySQL Aggregate Functions in the Context of Window Functions - Part II-Exercise
MySQL Aggregate Functions in the Context of Window Functions - Part II-Solution
MySQL Common Table Expressions - Introduction
An Alternative Solution to the Same Task
An Alternative Solution to the Same Task-Exercise
An Alternative Solution to the Same Task-Solution
Using Multiple Subclauses in a WITH Clause - Part I
Using Multiple Subclauses in a WITH Clause - Part II
Using Multiple Subclauses in a WITH Clause-Exercise
Using Multiple Subclauses in a WITH Clause-Solution
Referring to Common Table Expressions in a WITH Clause
MySQL Temporary Tables - Introduction
MySQL Temporary Tables in Action
MySQL Temporary Tables in Action-Exercise
MySQL Temporary Tables in Action-Solution
Other Features of MySQL Temporary Tables
Other Features of MySQL Temporary Tables-Exercise
Other Features of MySQL Temporary Tables-Solution
The Advantages of Software Integration
Why Combining SQL and Tableau is useful
Installing Tableau Public
Loading the 'employees_mod' Database
Loading the 'employees_mod' Database
Task 1: SQL Solution - Code
Transferring a Dataset from SQL to Tableau
Chart 1: Visualizing and Analyzing the Solution in Tableau - Part I
Chart 1: Visualizing and Analyzing the Solution in Tableau - Part II