Skip to main content

SQL Basics Cheat Sheet

With this SQL cheat sheet, you'll have a handy reference guide to basic querying tables, filtering data, and aggregating data
Mar 2022  · 5 min read

SQL, also known as Structured Query Language, is a powerful tool to search through large amounts of data and return specific information for analysis. Learning SQL is crucial for anyone aspiring to be a data analyst, data engineer, or data scientist, and helpful in many other fields such as web development or marketing.

In this cheat sheet, you'll find a handy list of functions covering querying data, filtering data, aggregation, and more—all collected from our SQL Fundamentals Skill Track.

Have this cheat sheet at your fingertips

Download PDF

The Different Dialects of SQL

Although SQL languages all share a basic structure, some of the specific commands and styles can differ slightly. Popular dialects include MySQL, SQLite, SQL Server, Oracle SQL, and more. PostgreSQL is a good place to start —since it’s close to standard SQL syntax and is easily adapted to other dialects. 

Sample Data

Throughout this cheat sheet, we'll be using the sample data airbnb_listings—denoting rental apartments on Airbnb.

id city country number_of_rooms year_listed
1 Paris France 5 2018
2 Tokyo Japan 2 2017
3 New York USA 2 2022

Querying tables

Get all the columns from a table

SELECT * 
FROM airbnb_listings;

Return the city column from the table

SELECT city 
FROM airbnb_listings;

Get the city and year_listed columns from the table

SELECT city, year_listed
FROM airbnb_listings;

Get the listing id, city, ordered by the number_of_rooms in ascending order

SELECT city, year_listed 
FROM airbnb_listings 
ORDER BY number_of_rooms ASC;

Get the listing id, city, ordered by the number_of_rooms in descending order

SELECT city, year_listed 
FROM airbnb_listings 
ORDER BY number_of_rooms DESC;

Get the first 5 rows from airbnb_listings

SELECT * 
FROM airbnb_lisitings
LIMIT 5;

Get a unique list of cities where there are listings

SELECT DISTINCT city
FROM airbnb_lisitings;

Filtering on numeric columns

Get all the listings where number_of_rooms is more or equal to 3

SELECT *
FROM airbnb_listings 
WHERE number_of_rooms >= 3;

Get all the listings where number_of_rooms is more than 3

SELECT *
FROM airbnb_listings 
WHERE number_of_rooms > 3;

Get all the listings where number_of_rooms is exactly 3

SELECT *
FROM airbnb_listings 
WHERE number_of_rooms = 3;

Get all the listings where number_of_rooms is lower or equal to 3

SELECT *
FROM airbnb_listings 
WHERE number_of_rooms <= 3;

Get all the listings where number_of_rooms is lower than 3

SELECT *
FROM airbnb_listings 
WHERE number_of_rooms < 3;

Filtering columns within a range—Get all the listings with 3 to 6 rooms

SELECT *
FROM airbnb_listings 
WHERE number_of_rooms BETWEEN 3 AND 6;

Filtering on text columns

Get all the listings that are based in 'Paris'

SELECT * 
FROM airbnb_listings 
WHERE city = ’Paris’;

Filter one column on many conditions—Get the listings based in the 'USA' and in ‘France’

SELECT *
FROM airbnb_listings 
WHERE country IN (‘USA’, ‘France’);

Get all listings where city starts with "j" and where it does not end with "t"

SELECT * 
FROM airbnb_listings 
WHERE city LIKE ‘j%’ AND city NOT LIKE ‘%t’;

Filtering on multiple columns

Get all the listings in "Paris" where number_of_rooms is bigger than 3

SELECT *
FROM airbnb_listings 
WHERE city = ’Paris’ AND number_of_rooms > 3;

Get all the listings in "Paris" OR the ones that were listed after 2012

SELECT * 
FROM airbnb_listings
WHERE city = 'Paris' OR year_listed > 2012;

Filtering on missing data

Get all the listings where number_of_rooms is missing

SELECT *
FROM airbnb_listings 
WHERE number_of_rooms IS NULL; 

Get all the listings where number_of_rooms is not missing

SELECT *
FROM airbnb_listings 
WHERE number_of_rooms IS NOT NULL; 

Simple aggregations

Get the total number of rooms available across all listings 

SELECT SUM(number_of_rooms) 
FROM airbnb_listings; 

Get the average number of rooms per listing across all listings

SELECT AVG(number_of_rooms) 
FROM airbnb_listings;

Get the listing with the highest number of rooms across all listings

SELECT MAX(number_of_rooms) 
FROM airbnb_listings;

Get the listing with the lowest number of rooms across all listings

SELECT MIN(number_of_rooms) 
FROM airbnb_listings;

Grouping, filtering, and sorting 

Get the total number of rooms for each country

SELECT country, SUM(number_of_rooms)
FROM airbnb_listings
GROUP BY country;

Get the average number of rooms for each country

SELECT country, AVERAGE(number_of_rooms)
FROM airbnb_listings
GROUP BY country;

Get the listing with the maximum number of rooms for each country

SELECT country, MAX(number_of_rooms)
FROM airbnb_listings
GROUP BY country;

Get the listing with the lowest amount of rooms per country

SELECT country, MIN(number_of_rooms)
FROM airbnb_listings
GROUP BY country;

For each country, get the average number of rooms per listing, sorted by ascending order

SELECT country, AVG(number_of_rooms) AS avg_rooms
FROM airbnb_listings
GROUP BY country
ORDER BY avg_rooms ASC;

For Japan and the USA, get the average number of rooms per listing in each country

SELECT country, MAX(number_of_rooms)
FROM airbnb_listings
WHERE country IN (‘USA’, ‘Japan’);
GROUP BY country;

Get the number of cities per country, where there are listings

SELECT country, COUNT(city) AS number_of_cities
FROM airbnb_listings
GROUP BY country;

Get all the years where there were more than 100 listings per year

SELECT year_listed
FROM airbnb_listings
GROUP BY year_listed
HAVING COUNT(id) > 100;
Related
Data Cleaning Checklist@1x.png

[Infographic] Data Science Learning Checklist

Use this handy checklist to guide your data science learning journey.
DataCamp Team's photo

DataCamp Team

4 min

_Quote.png

How Organizations Can Bridge the Data Literacy Gap

Dr Selena Fisk joins the show to chat about the perception people have that "I'm not a numbers person" and how data literacy initiatives can move past that. How can leaders help their people bridge the data literacy gap and, in turn, create a data culture?

Adel Nehme's photo

Adel Nehme

42 min

Why We Need More Data Empathy

We talk with Phil Harvey about the concept of data empath, real-world examples of data empathy, the importance of practice when learning something new, the role of data empathy in AI development, and much more.

Adel Nehme's photo

Adel Nehme

44 min

Introduction to Probability Rules Cheat Sheet

Learn the basics of probability with our Introduction to Probability Rules Cheat Sheet. Quickly reference key concepts and formulas for finding probability, conditional probability, and more.
DataCamp Team's photo

DataCamp Team

1 min

Data Governance Fundamentals Cheat Sheet

Master the fundamentals of data governance with our Data Governance Fundamentals Cheat Sheet. Quickly reference key concepts, best practices, and key components of a data governance program.
DataCamp Team's photo

DataCamp Team

1 min

Docker for Data Science: An Introduction

In this Docker tutorial, discover the setup, common Docker commands, dockerizing machine learning applications, and industry-wide best practices.
Arunn Thevapalan's photo

Arunn Thevapalan

15 min

See MoreSee More