SQL Tutorials

some gears and wheels that are all very shiny and metallicy metal elements and 3d images

Note: this page has been created with the use of AI. Please take caution, and note that the content of this page does not necessarily reflect the opinion of Cratecode.

Dive into the world of Structured Query Language (SQL) through guided tutorials and exercises. SQL is the go-to language for managing and manipulating relational databases, and mastering it is essential for anyone working with data. Get ready to explore SQL concepts, from basic to advanced, and become a confident database wrangler!

SQL Basics

Before you start writing complex queries, let's go through some essential SQL basics to lay a strong foundation.


The first SQL command you need to learn is SELECT. It's the bread and butter of SQL, used to retrieve data from a database. Here's a simple example:

SELECT first_name, last_name FROM employees;

This query selects the first_name and last_name columns from the employees table, returning all the employees' names.


To filter the data you retrieve, use the WHERE clause. It's like a bouncer in a nightclub, only letting in the rows that meet specific conditions. Let's say we want to find all employees with a salary above $50,000:

SELECT first_name, last_name, salary FROM employees WHERE salary > 50000;


To combine data from multiple tables, use the JOIN clause. It's like a matchmaking service for tables, bringing them together based on shared attributes. For instance, let's find employees and their departments:

SELECT employees.first_name, employees.last_name, departments.name FROM employees JOIN departments ON employees.department_id = departments.id;

This query retrieves employees' names and their corresponding department names by joining the employees and departments tables on their shared department_id.

Advanced SQL Concepts

Once you've grasped the basics, it's time to explore some advanced SQL concepts that will make your queries even more powerful.


As the name suggests, subqueries are queries embedded within other queries. They're like Russian nesting dolls, allowing you to perform multiple operations in a single query. Let's find the highest-paid employee in each department:

SELECT department_id, first_name, last_name, MAX(salary) FROM employees WHERE (department_id, salary) IN (SELECT department_id, MAX(salary) FROM employees GROUP BY department_id) GROUP BY department_id;

Aggregation Functions

To perform calculations on your data, use aggregation functions like SUM, AVG, COUNT, MIN, and MAX. Let's calculate the total salary for each department:

SELECT department_id, SUM(salary) as total_salary FROM employees GROUP BY department_id;

Window Functions

Window functions allow you to perform calculations across a set of rows related to the current row. Think of them as functions with a view, peering into a "window" of your data. To calculate the running total salary for each department, use the SUM() window function:

SELECT department_id, first_name, last_name, salary, SUM(salary) OVER (PARTITION BY department_id ORDER BY first_name, last_name) as running_total FROM employees;

Practice Makes Perfect

Now that you've got a taste of SQL concepts, it's time to practice! Work through guided exercises, tackle real-world problems, and sharpen your SQL skills. In no time, you'll become an SQL wizard, ready to tame any database!

Start your SQL journey with these interactive tutorials and exercises and become a master database wrangler!

Similar Articles