NASA wants to go to Mars! Before they build their rocket, NASA needs to track information about all of the planets in the Solar System. In this lab, you'll practice querying the database with various SELECT
statements. This will include selecting different columns and implementing other SQL clauses like WHERE
to return the data desired.
You will practice the following:
- Retrieve a subset of records from a table using a
WHERE
clause - Filter results using conditional operators such as
BETWEEN
,IS NULL
, andLIKE
- Apply an aggregate function to the result of a filtered query
To get started, import sqlite3
as well as pandas
for conveniently displaying results. Then, connect to the SQLite database located at planets.db
.
# Your code here
This database contains a single table, planets
. This is the schema:
CREATE TABLE planets (
id INTEGER PRIMARY KEY,
name TEXT,
color TEXT,
num_of_moons INTEGER,
mass REAL,
rings BOOLEAN
);
The data looks something like this:
id | name | color | num_of_moons | mass | rings |
---|---|---|---|---|---|
1 | Mercury | gray | 0 | 0.55 | FALSE |
2 | Venus | yellow | 0 | 0.82 | FALSE |
3 | Earth | blue | 1 | 1.00 | FALSE |
4 | Mars | red | 2 | 0.11 | FALSE |
5 | Jupiter | orange | 67 | 317.90 | FALSE |
6 | Saturn | hazel | 62 | 95.19 | TRUE |
7 | Uranus | light blue | 27 | 14.54 | TRUE |
8 | Neptune | dark blue | 14 | 17.15 | TRUE |
Write SQL queries for each of the statements below using the same pandas wrapping syntax from the previous lesson.
# Your code here
# Your code here
# Your code here
# Your code here
# Your code here
# Your code here
Hint: You can use AND
to chain together two conditions in SQL, similar to and
in Python
# Your code here
# Your code here
Note: even though the schema states that rings
is a BOOLEAN
and the example table shows values TRUE
and FALSE
, SQLite does not actually support booleans natively. From the documentation:
SQLite does not have a separate Boolean storage class. Instead, Boolean values are stored as integers 0 (false) and 1 (true).
# Your code here
10. Select the name of all planets, along with a value has_rings
that returns "Yes" if the planet does have rings, and "No" if it does not
# Your code here
Congratulations! NASA is one step closer to embarking upon its mission to Mars. In this lab, You practiced writing SELECT
statements that query a single table to get specific information. You also used other clauses and specified column names to cherry-pick the data we wanted to retrieve.