Your Easy Guide to Understanding SQL with Supermarket Data

Your Easy Guide to Understanding SQL with Supermarket Data



Alright, imagine you're in a supermarket, pushing a cart down the aisles, picking up items. Now, think about all the information on those items: their names, prices, where they're located etc.

Well, in the world of computers, there's a special language called SQL that helps us organize and find information just like in a supermarket. It's not as tricky as it might sound!

In this guide, we're going to learn about SQL using data from a supermarket. We'll use simple commands to find the information we want. By the end, you'll be able to use SQL to explore data like a pro.

So, get ready to dive in with me. We're about to make SQL super easy to understand!

What is SQL

In simple terms, SQL, or Structured Query Language, is a special language that helps us talk to databases. Imagine a database as a super organized electronic filing cabinet filled with information. SQL is like the language we use to ask the filing cabinet for specific information.

Here's why it's important:

  1. Getting Information: SQL helps us ask the database for exactly the information we want. It's like asking a librarian for a specific book.

  2. Changing Data: It also lets us make changes to the information in the database. We can add new records, update existing ones, or remove unnecessary stuff.

  3. Setting Rules: SQL helps us set rules to keep the information organized and accurate. It's like making sure all the books in the library are in the right place.

  4. Calculation: We can use SQL to do math with the data. For instance, finding the total sales for a month or counting how many customers bought a specific product.

  5. Making Reports: It's great for creating reports and summaries of data. Think of it like putting together a report card for a class.

Overall, SQL is like a special tool that helps us work with information stored in databases. It's super useful for anyone who wants to understand and use data effectively!

Using SQL to Analyze Supermarket Data

Link to dataset

I first created a new database and I named it wk3-project(it's actually a project I worked on).

Then from the database, I clicked on tasks, then import flat file so I could import the files into the newly created database

A pop-up came up, I clicked it next and it prompted me to browse in my computer's local directory where the file is.

To start working on my table, I first combined sales data from 2020, 2021 AND 2021 into a single table named 'SALESDATA' using UNION ALL. Then I used the 'INSERT INTO SALESDATA' to insert the combined data into the SALESDATA table. After combining and inserting the data, the final 'SELECT' statement is used to view data from the SALESDATA table.

Business Requirements

The images below are the questions we need to write queries for

Query commands used

  1. SELECT - Retrieving Data: At the core of every database operation is the SELECT command. It allows us to retrieve specific information from a database. For example, if we want to fetch names and email addresses from a customer database, we'd use a SELECT statement.

  2. INSERT INTO - Adding New Data: When it comes to adding new records to a database, the INSERT INTO command comes into play. It's like adding a new entry to your contact list. Here's a simple example:

  3. UNION / UNION ALL - Combining Results: Combining results from different queries is a common requirement. The UNION and UNION ALL operators allow us to do just that. While UNION eliminates duplicate rows, UNION ALL retains duplicates.

  4. JOIN - Combining Data from Different Tables: Databases often have data spread across multiple tables. The JOIN command enables us to combine related information from these tables. For instance, if we have a 'Customers' table and an 'Orders' table, we can join them to get customer information alongside their order details.

  5. GROUP BY and HAVING - Aggregating Data: Aggregating data involves summarizing large datasets. The GROUP BY clause groups rows based on a specified column, while HAVING filters the results. Consider an example where we calculate the total orders placed by each customer.

  6. COUNT(), SUM(), MAX(), MIN(), AVG() - Aggregate Functions: Aggregate functions allow us to perform calculations on groups of data. COUNT() gives us the number of rows, SUM() calculates the total, MAX() and MIN() find the highest and lowest values, and AVG() computes the average.

  7. DISTINCT - Eliminating Duplicates: The DISTINCT keyword helps us retrieve unique values from a result set. For example, if we want to see a list of unique product categories:

  8. TOP() - Limiting Results: To restrict the number of rows returned in a result set, we use TOP(). It's like asking for the top 5 records in a table.

  9. ROUND() - Rounding Numeric Values: The ROUND() function allows us to round numerical values to a specified number of decimal places. For instance, if we want to round the average product price to two decimal places:


We've taken a stroll through the world of SQL, from the supermarket to the database. SQL is like a special language that helps us talk to databases and get the information we need.

We've learned the basics, like asking for specific data, making changes, and keeping things neat. We've even explored some cool tricks, like combining different sets of information.

Now, armed with these skills, you're ready to dive into the world of data analysis. Practice and play around with SQL – the more you use it, the more it becomes your friend in understanding data.

So, go ahead, and have fun on your SQL adventure! Happy querying!

PS: Get the link to the solutions in a presentation slide