diff --git a/SQLSelectLab.ipynb b/SQLSelectLab.ipynb
index ab61acd..83159ff 100644
--- a/SQLSelectLab.ipynb
+++ b/SQLSelectLab.ipynb
@@ -47,7 +47,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 3,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
@@ -66,7 +66,7 @@
"import pandas as pd\n",
"\n",
"# Connect to the database\n",
- "conn = None"
+ "conn = sqlite3.connect(\"data.sqlite\")"
]
},
{
@@ -78,9 +78,355 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 2,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " employeeNumber | \n",
+ " lastName | \n",
+ " firstName | \n",
+ " extension | \n",
+ " email | \n",
+ " officeCode | \n",
+ " reportsTo | \n",
+ " jobTitle | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1002 | \n",
+ " Murphy | \n",
+ " Diane | \n",
+ " x5800 | \n",
+ " dmurphy@classicmodelcars.com | \n",
+ " 1 | \n",
+ " | \n",
+ " President | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 1056 | \n",
+ " Patterson | \n",
+ " Mary | \n",
+ " x4611 | \n",
+ " mpatterso@classicmodelcars.com | \n",
+ " 1 | \n",
+ " 1002 | \n",
+ " VP Sales | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 1076 | \n",
+ " Firrelli | \n",
+ " Jeff | \n",
+ " x9273 | \n",
+ " jfirrelli@classicmodelcars.com | \n",
+ " 1 | \n",
+ " 1002 | \n",
+ " VP Marketing | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 1088 | \n",
+ " Patterson | \n",
+ " William | \n",
+ " x4871 | \n",
+ " wpatterson@classicmodelcars.com | \n",
+ " 6 | \n",
+ " 1056 | \n",
+ " Sales Manager (APAC) | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 1102 | \n",
+ " Bondur | \n",
+ " Gerard | \n",
+ " x5408 | \n",
+ " gbondur@classicmodelcars.com | \n",
+ " 4 | \n",
+ " 1056 | \n",
+ " Sale Manager (EMEA) | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 1143 | \n",
+ " Bow | \n",
+ " Anthony | \n",
+ " x5428 | \n",
+ " abow@classicmodelcars.com | \n",
+ " 1 | \n",
+ " 1056 | \n",
+ " Sales Manager (NA) | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 1165 | \n",
+ " Jennings | \n",
+ " Leslie | \n",
+ " x3291 | \n",
+ " ljennings@classicmodelcars.com | \n",
+ " 1 | \n",
+ " 1143 | \n",
+ " Sales Rep | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " 1166 | \n",
+ " Thompson | \n",
+ " Leslie | \n",
+ " x4065 | \n",
+ " lthompson@classicmodelcars.com | \n",
+ " 1 | \n",
+ " 1143 | \n",
+ " Sales Rep | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " 1188 | \n",
+ " Firrelli | \n",
+ " Julie | \n",
+ " x2173 | \n",
+ " jfirrelli@classicmodelcars.com | \n",
+ " 2 | \n",
+ " 1143 | \n",
+ " Sales Rep | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " 1216 | \n",
+ " Patterson | \n",
+ " Steve | \n",
+ " x4334 | \n",
+ " spatterson@classicmodelcars.com | \n",
+ " 2 | \n",
+ " 1143 | \n",
+ " Sales Rep | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " 1286 | \n",
+ " Tseng | \n",
+ " Foon Yue | \n",
+ " x2248 | \n",
+ " ftseng@classicmodelcars.com | \n",
+ " 3 | \n",
+ " 1143 | \n",
+ " Sales Rep | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " 1323 | \n",
+ " Vanauf | \n",
+ " George | \n",
+ " x4102 | \n",
+ " gvanauf@classicmodelcars.com | \n",
+ " 3 | \n",
+ " 1143 | \n",
+ " Sales Rep | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " 1337 | \n",
+ " Bondur | \n",
+ " Loui | \n",
+ " x6493 | \n",
+ " lbondur@classicmodelcars.com | \n",
+ " 4 | \n",
+ " 1102 | \n",
+ " Sales Rep | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " 1370 | \n",
+ " Hernandez | \n",
+ " Gerard | \n",
+ " x2028 | \n",
+ " ghernande@classicmodelcars.com | \n",
+ " 4 | \n",
+ " 1102 | \n",
+ " Sales Rep | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " 1401 | \n",
+ " Castillo | \n",
+ " Pamela | \n",
+ " x2759 | \n",
+ " pcastillo@classicmodelcars.com | \n",
+ " 4 | \n",
+ " 1102 | \n",
+ " Sales Rep | \n",
+ "
\n",
+ " \n",
+ " | 15 | \n",
+ " 1501 | \n",
+ " Bott | \n",
+ " Larry | \n",
+ " x2311 | \n",
+ " lbott@classicmodelcars.com | \n",
+ " 7 | \n",
+ " 1102 | \n",
+ " Sales Rep | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " 1504 | \n",
+ " Jones | \n",
+ " Barry | \n",
+ " x102 | \n",
+ " bjones@classicmodelcars.com | \n",
+ " 7 | \n",
+ " 1102 | \n",
+ " Sales Rep | \n",
+ "
\n",
+ " \n",
+ " | 17 | \n",
+ " 1611 | \n",
+ " Fixter | \n",
+ " Andy | \n",
+ " x101 | \n",
+ " afixter@classicmodelcars.com | \n",
+ " 6 | \n",
+ " 1088 | \n",
+ " Sales Rep | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " 1612 | \n",
+ " Marsh | \n",
+ " Peter | \n",
+ " x102 | \n",
+ " pmarsh@classicmodelcars.com | \n",
+ " 6 | \n",
+ " 1088 | \n",
+ " Sales Rep | \n",
+ "
\n",
+ " \n",
+ " | 19 | \n",
+ " 1619 | \n",
+ " King | \n",
+ " Tom | \n",
+ " x103 | \n",
+ " tking@classicmodelcars.com | \n",
+ " 6 | \n",
+ " 1088 | \n",
+ " Sales Rep | \n",
+ "
\n",
+ " \n",
+ " | 20 | \n",
+ " 1621 | \n",
+ " Nishi | \n",
+ " Mami | \n",
+ " x101 | \n",
+ " mnishi@classicmodelcars.com | \n",
+ " 5 | \n",
+ " 1056 | \n",
+ " Sales Rep | \n",
+ "
\n",
+ " \n",
+ " | 21 | \n",
+ " 1625 | \n",
+ " Kato | \n",
+ " Yoshimi | \n",
+ " x102 | \n",
+ " ykato@classicmodelcars.com | \n",
+ " 5 | \n",
+ " 1621 | \n",
+ " Sales Rep | \n",
+ "
\n",
+ " \n",
+ " | 22 | \n",
+ " 1702 | \n",
+ " Gerard | \n",
+ " Martin | \n",
+ " x2312 | \n",
+ " mgerard@classicmodelcars.com | \n",
+ " 4 | \n",
+ " 1102 | \n",
+ " Sales Rep | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " employeeNumber lastName firstName extension \\\n",
+ "0 1002 Murphy Diane x5800 \n",
+ "1 1056 Patterson Mary x4611 \n",
+ "2 1076 Firrelli Jeff x9273 \n",
+ "3 1088 Patterson William x4871 \n",
+ "4 1102 Bondur Gerard x5408 \n",
+ "5 1143 Bow Anthony x5428 \n",
+ "6 1165 Jennings Leslie x3291 \n",
+ "7 1166 Thompson Leslie x4065 \n",
+ "8 1188 Firrelli Julie x2173 \n",
+ "9 1216 Patterson Steve x4334 \n",
+ "10 1286 Tseng Foon Yue x2248 \n",
+ "11 1323 Vanauf George x4102 \n",
+ "12 1337 Bondur Loui x6493 \n",
+ "13 1370 Hernandez Gerard x2028 \n",
+ "14 1401 Castillo Pamela x2759 \n",
+ "15 1501 Bott Larry x2311 \n",
+ "16 1504 Jones Barry x102 \n",
+ "17 1611 Fixter Andy x101 \n",
+ "18 1612 Marsh Peter x102 \n",
+ "19 1619 King Tom x103 \n",
+ "20 1621 Nishi Mami x101 \n",
+ "21 1625 Kato Yoshimi x102 \n",
+ "22 1702 Gerard Martin x2312 \n",
+ "\n",
+ " email officeCode reportsTo jobTitle \n",
+ "0 dmurphy@classicmodelcars.com 1 President \n",
+ "1 mpatterso@classicmodelcars.com 1 1002 VP Sales \n",
+ "2 jfirrelli@classicmodelcars.com 1 1002 VP Marketing \n",
+ "3 wpatterson@classicmodelcars.com 6 1056 Sales Manager (APAC) \n",
+ "4 gbondur@classicmodelcars.com 4 1056 Sale Manager (EMEA) \n",
+ "5 abow@classicmodelcars.com 1 1056 Sales Manager (NA) \n",
+ "6 ljennings@classicmodelcars.com 1 1143 Sales Rep \n",
+ "7 lthompson@classicmodelcars.com 1 1143 Sales Rep \n",
+ "8 jfirrelli@classicmodelcars.com 2 1143 Sales Rep \n",
+ "9 spatterson@classicmodelcars.com 2 1143 Sales Rep \n",
+ "10 ftseng@classicmodelcars.com 3 1143 Sales Rep \n",
+ "11 gvanauf@classicmodelcars.com 3 1143 Sales Rep \n",
+ "12 lbondur@classicmodelcars.com 4 1102 Sales Rep \n",
+ "13 ghernande@classicmodelcars.com 4 1102 Sales Rep \n",
+ "14 pcastillo@classicmodelcars.com 4 1102 Sales Rep \n",
+ "15 lbott@classicmodelcars.com 7 1102 Sales Rep \n",
+ "16 bjones@classicmodelcars.com 7 1102 Sales Rep \n",
+ "17 afixter@classicmodelcars.com 6 1088 Sales Rep \n",
+ "18 pmarsh@classicmodelcars.com 6 1088 Sales Rep \n",
+ "19 tking@classicmodelcars.com 6 1088 Sales Rep \n",
+ "20 mnishi@classicmodelcars.com 5 1056 Sales Rep \n",
+ "21 ykato@classicmodelcars.com 5 1621 Sales Rep \n",
+ "22 mgerard@classicmodelcars.com 4 1102 Sales Rep "
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"# Run this cell without changes\n",
"# First look at full table\n",
@@ -106,13 +452,193 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 4,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " employeeNumber | \n",
+ " lastName | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1002 | \n",
+ " Murphy | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 1056 | \n",
+ " Patterson | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 1076 | \n",
+ " Firrelli | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 1088 | \n",
+ " Patterson | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 1102 | \n",
+ " Bondur | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 1143 | \n",
+ " Bow | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 1165 | \n",
+ " Jennings | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " 1166 | \n",
+ " Thompson | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " 1188 | \n",
+ " Firrelli | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " 1216 | \n",
+ " Patterson | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " 1286 | \n",
+ " Tseng | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " 1323 | \n",
+ " Vanauf | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " 1337 | \n",
+ " Bondur | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " 1370 | \n",
+ " Hernandez | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " 1401 | \n",
+ " Castillo | \n",
+ "
\n",
+ " \n",
+ " | 15 | \n",
+ " 1501 | \n",
+ " Bott | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " 1504 | \n",
+ " Jones | \n",
+ "
\n",
+ " \n",
+ " | 17 | \n",
+ " 1611 | \n",
+ " Fixter | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " 1612 | \n",
+ " Marsh | \n",
+ "
\n",
+ " \n",
+ " | 19 | \n",
+ " 1619 | \n",
+ " King | \n",
+ "
\n",
+ " \n",
+ " | 20 | \n",
+ " 1621 | \n",
+ " Nishi | \n",
+ "
\n",
+ " \n",
+ " | 21 | \n",
+ " 1625 | \n",
+ " Kato | \n",
+ "
\n",
+ " \n",
+ " | 22 | \n",
+ " 1702 | \n",
+ " Gerard | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " employeeNumber lastName\n",
+ "0 1002 Murphy\n",
+ "1 1056 Patterson\n",
+ "2 1076 Firrelli\n",
+ "3 1088 Patterson\n",
+ "4 1102 Bondur\n",
+ "5 1143 Bow\n",
+ "6 1165 Jennings\n",
+ "7 1166 Thompson\n",
+ "8 1188 Firrelli\n",
+ "9 1216 Patterson\n",
+ "10 1286 Tseng\n",
+ "11 1323 Vanauf\n",
+ "12 1337 Bondur\n",
+ "13 1370 Hernandez\n",
+ "14 1401 Castillo\n",
+ "15 1501 Bott\n",
+ "16 1504 Jones\n",
+ "17 1611 Fixter\n",
+ "18 1612 Marsh\n",
+ "19 1619 King\n",
+ "20 1621 Nishi\n",
+ "21 1625 Kato\n",
+ "22 1702 Gerard"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"# CodeGrade step2\n",
"# Replace None with your code\n",
- "df_name_number = None"
+ "df_name_number = \"\"\" \n",
+ "SELECT employeeNumber, lastName FROM employees;\n",
+ "\"\"\"\n",
+ "pd.read_sql_query(df_name_number,conn)"
]
},
{
@@ -127,13 +653,194 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 5,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " lastName | \n",
+ " employeeNumber | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Murphy | \n",
+ " 1002 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Patterson | \n",
+ " 1056 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Firrelli | \n",
+ " 1076 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Patterson | \n",
+ " 1088 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Bondur | \n",
+ " 1102 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " Bow | \n",
+ " 1143 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Jennings | \n",
+ " 1165 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " Thompson | \n",
+ " 1166 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " Firrelli | \n",
+ " 1188 | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " Patterson | \n",
+ " 1216 | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " Tseng | \n",
+ " 1286 | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " Vanauf | \n",
+ " 1323 | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " Bondur | \n",
+ " 1337 | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " Hernandez | \n",
+ " 1370 | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " Castillo | \n",
+ " 1401 | \n",
+ "
\n",
+ " \n",
+ " | 15 | \n",
+ " Bott | \n",
+ " 1501 | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " Jones | \n",
+ " 1504 | \n",
+ "
\n",
+ " \n",
+ " | 17 | \n",
+ " Fixter | \n",
+ " 1611 | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " Marsh | \n",
+ " 1612 | \n",
+ "
\n",
+ " \n",
+ " | 19 | \n",
+ " King | \n",
+ " 1619 | \n",
+ "
\n",
+ " \n",
+ " | 20 | \n",
+ " Nishi | \n",
+ " 1621 | \n",
+ "
\n",
+ " \n",
+ " | 21 | \n",
+ " Kato | \n",
+ " 1625 | \n",
+ "
\n",
+ " \n",
+ " | 22 | \n",
+ " Gerard | \n",
+ " 1702 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " lastName employeeNumber\n",
+ "0 Murphy 1002\n",
+ "1 Patterson 1056\n",
+ "2 Firrelli 1076\n",
+ "3 Patterson 1088\n",
+ "4 Bondur 1102\n",
+ "5 Bow 1143\n",
+ "6 Jennings 1165\n",
+ "7 Thompson 1166\n",
+ "8 Firrelli 1188\n",
+ "9 Patterson 1216\n",
+ "10 Tseng 1286\n",
+ "11 Vanauf 1323\n",
+ "12 Bondur 1337\n",
+ "13 Hernandez 1370\n",
+ "14 Castillo 1401\n",
+ "15 Bott 1501\n",
+ "16 Jones 1504\n",
+ "17 Fixter 1611\n",
+ "18 Marsh 1612\n",
+ "19 King 1619\n",
+ "20 Nishi 1621\n",
+ "21 Kato 1625\n",
+ "22 Gerard 1702"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"# CodeGrade step3\n",
"# Replace None with your code\n",
- "df_reverse = None"
+ "df_reverse = \"\"\" \n",
+ " SELECT lastName,employeeNumber FROM employees;\n",
+ "\"\"\"\n",
+ "\n",
+ "pd.read_sql_query(df_reverse, conn)"
]
},
{
@@ -155,13 +862,193 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 6,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " lastName | \n",
+ " ID | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Murphy | \n",
+ " 1002 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Patterson | \n",
+ " 1056 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Firrelli | \n",
+ " 1076 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Patterson | \n",
+ " 1088 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Bondur | \n",
+ " 1102 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " Bow | \n",
+ " 1143 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Jennings | \n",
+ " 1165 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " Thompson | \n",
+ " 1166 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " Firrelli | \n",
+ " 1188 | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " Patterson | \n",
+ " 1216 | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " Tseng | \n",
+ " 1286 | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " Vanauf | \n",
+ " 1323 | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " Bondur | \n",
+ " 1337 | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " Hernandez | \n",
+ " 1370 | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " Castillo | \n",
+ " 1401 | \n",
+ "
\n",
+ " \n",
+ " | 15 | \n",
+ " Bott | \n",
+ " 1501 | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " Jones | \n",
+ " 1504 | \n",
+ "
\n",
+ " \n",
+ " | 17 | \n",
+ " Fixter | \n",
+ " 1611 | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " Marsh | \n",
+ " 1612 | \n",
+ "
\n",
+ " \n",
+ " | 19 | \n",
+ " King | \n",
+ " 1619 | \n",
+ "
\n",
+ " \n",
+ " | 20 | \n",
+ " Nishi | \n",
+ " 1621 | \n",
+ "
\n",
+ " \n",
+ " | 21 | \n",
+ " Kato | \n",
+ " 1625 | \n",
+ "
\n",
+ " \n",
+ " | 22 | \n",
+ " Gerard | \n",
+ " 1702 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " lastName ID\n",
+ "0 Murphy 1002\n",
+ "1 Patterson 1056\n",
+ "2 Firrelli 1076\n",
+ "3 Patterson 1088\n",
+ "4 Bondur 1102\n",
+ "5 Bow 1143\n",
+ "6 Jennings 1165\n",
+ "7 Thompson 1166\n",
+ "8 Firrelli 1188\n",
+ "9 Patterson 1216\n",
+ "10 Tseng 1286\n",
+ "11 Vanauf 1323\n",
+ "12 Bondur 1337\n",
+ "13 Hernandez 1370\n",
+ "14 Castillo 1401\n",
+ "15 Bott 1501\n",
+ "16 Jones 1504\n",
+ "17 Fixter 1611\n",
+ "18 Marsh 1612\n",
+ "19 King 1619\n",
+ "20 Nishi 1621\n",
+ "21 Kato 1625\n",
+ "22 Gerard 1702"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"# CodeGrade step4\n",
"# Replace None with your code\n",
- "df_alias = None"
+ "df_alias = \"\"\" \n",
+ " SELECT lastName, employeeNumber as ID FROM employees;\n",
+ "\"\"\"\n",
+ "pd.read_sql_query(df_alias, conn)"
]
},
{
@@ -193,13 +1080,200 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 15,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " lastName | \n",
+ " role | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Murphy | \n",
+ " Executive | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Patterson | \n",
+ " Executive | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Firrelli | \n",
+ " Executive | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Patterson | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Bondur | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " Bow | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Jennings | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " Thompson | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " Firrelli | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " Patterson | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " Tseng | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " Vanauf | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " Bondur | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " Hernandez | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " Castillo | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 15 | \n",
+ " Bott | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " Jones | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 17 | \n",
+ " Fixter | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " Marsh | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 19 | \n",
+ " King | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 20 | \n",
+ " Nishi | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 21 | \n",
+ " Kato | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ " | 22 | \n",
+ " Gerard | \n",
+ " Not Executive | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " lastName role\n",
+ "0 Murphy Executive\n",
+ "1 Patterson Executive\n",
+ "2 Firrelli Executive\n",
+ "3 Patterson Not Executive\n",
+ "4 Bondur Not Executive\n",
+ "5 Bow Not Executive\n",
+ "6 Jennings Not Executive\n",
+ "7 Thompson Not Executive\n",
+ "8 Firrelli Not Executive\n",
+ "9 Patterson Not Executive\n",
+ "10 Tseng Not Executive\n",
+ "11 Vanauf Not Executive\n",
+ "12 Bondur Not Executive\n",
+ "13 Hernandez Not Executive\n",
+ "14 Castillo Not Executive\n",
+ "15 Bott Not Executive\n",
+ "16 Jones Not Executive\n",
+ "17 Fixter Not Executive\n",
+ "18 Marsh Not Executive\n",
+ "19 King Not Executive\n",
+ "20 Nishi Not Executive\n",
+ "21 Kato Not Executive\n",
+ "22 Gerard Not Executive"
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"# CodeGrade step5\n",
"# Replace None with your code\n",
- "df_executive = None"
+ "\n",
+ "df_executive = \"\"\" \n",
+ "SELECT lastName, \n",
+ " CASE \n",
+ " WHEN jobTitle IN ('President', 'VP Sales', 'VP Marketing') THEN 'Executive'\n",
+ " ELSE 'Not Executive'\n",
+ " END AS role\n",
+ " FROM employees;\n",
+ "\"\"\"\n",
+ "\n",
+ "pd.read_sql_query(df_executive, conn)"
]
},
{
@@ -222,13 +1296,171 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 17,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " name_length | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 8 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 8 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " 8 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " 8 | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " 8 | \n",
+ "
\n",
+ " \n",
+ " | 15 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 17 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 19 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 20 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 21 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 22 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " name_length\n",
+ "0 6\n",
+ "1 9\n",
+ "2 8\n",
+ "3 9\n",
+ "4 6\n",
+ "5 3\n",
+ "6 8\n",
+ "7 8\n",
+ "8 8\n",
+ "9 9\n",
+ "10 5\n",
+ "11 6\n",
+ "12 6\n",
+ "13 9\n",
+ "14 8\n",
+ "15 4\n",
+ "16 5\n",
+ "17 6\n",
+ "18 5\n",
+ "19 4\n",
+ "20 5\n",
+ "21 4\n",
+ "22 6"
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"# CodeGrade step6\n",
"# Replace None with your code\n",
- "df_name_length = None"
+ "df_name_length = \"\"\"\n",
+ " SELECT LENGTH(lastName) AS name_length\n",
+ " FROM employees;\n",
+ "\"\"\"\n",
+ "\n",
+ "pd.read_sql(df_name_length, conn)"
]
},
{
@@ -243,13 +1475,170 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 18,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " short_title | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Pr | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " VP | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " VP | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 15 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 17 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 19 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 20 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 21 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ " | 22 | \n",
+ " Sa | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " short_title\n",
+ "0 Pr\n",
+ "1 VP\n",
+ "2 VP\n",
+ "3 Sa\n",
+ "4 Sa\n",
+ "5 Sa\n",
+ "6 Sa\n",
+ "7 Sa\n",
+ "8 Sa\n",
+ "9 Sa\n",
+ "10 Sa\n",
+ "11 Sa\n",
+ "12 Sa\n",
+ "13 Sa\n",
+ "14 Sa\n",
+ "15 Sa\n",
+ "16 Sa\n",
+ "17 Sa\n",
+ "18 Sa\n",
+ "19 Sa\n",
+ "20 Sa\n",
+ "21 Sa\n",
+ "22 Sa"
+ ]
+ },
+ "execution_count": 18,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"# CodeGrade step7\n",
"# Replace None with your code\n",
- "df_short_title = None"
+ "df_short_title = \"\"\"\n",
+ " SELECT SUBSTR(jobTitle, 1, 2) AS short_title\n",
+ " FROM employees;\n",
+ "\"\"\"\n",
+ "pd.read_sql_query(df_short_title, conn)"
]
},
{
@@ -272,9 +1661,153 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 19,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " orderNumber | \n",
+ " productCode | \n",
+ " quantityOrdered | \n",
+ " priceEach | \n",
+ " orderLineNumber | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 10100 | \n",
+ " S18_1749 | \n",
+ " 30 | \n",
+ " 136.00 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 10100 | \n",
+ " S18_2248 | \n",
+ " 50 | \n",
+ " 55.09 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 10100 | \n",
+ " S18_4409 | \n",
+ " 22 | \n",
+ " 75.46 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 10100 | \n",
+ " S24_3969 | \n",
+ " 49 | \n",
+ " 35.29 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 10101 | \n",
+ " S18_2325 | \n",
+ " 25 | \n",
+ " 108.06 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 2991 | \n",
+ " 10425 | \n",
+ " S24_2300 | \n",
+ " 49 | \n",
+ " 127.79 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ " | 2992 | \n",
+ " 10425 | \n",
+ " S24_2840 | \n",
+ " 31 | \n",
+ " 31.82 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 2993 | \n",
+ " 10425 | \n",
+ " S32_1268 | \n",
+ " 41 | \n",
+ " 83.79 | \n",
+ " 11 | \n",
+ "
\n",
+ " \n",
+ " | 2994 | \n",
+ " 10425 | \n",
+ " S32_2509 | \n",
+ " 11 | \n",
+ " 50.32 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 2995 | \n",
+ " 10425 | \n",
+ " S50_1392 | \n",
+ " 18 | \n",
+ " 94.92 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
2996 rows × 5 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " orderNumber productCode quantityOrdered priceEach orderLineNumber\n",
+ "0 10100 S18_1749 30 136.00 3\n",
+ "1 10100 S18_2248 50 55.09 2\n",
+ "2 10100 S18_4409 22 75.46 4\n",
+ "3 10100 S24_3969 49 35.29 1\n",
+ "4 10101 S18_2325 25 108.06 4\n",
+ "... ... ... ... ... ...\n",
+ "2991 10425 S24_2300 49 127.79 9\n",
+ "2992 10425 S24_2840 31 31.82 5\n",
+ "2993 10425 S32_1268 41 83.79 11\n",
+ "2994 10425 S32_2509 11 50.32 6\n",
+ "2995 10425 S50_1392 18 94.92 2\n",
+ "\n",
+ "[2996 rows x 5 columns]"
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"# Run this cell without changes\n",
"\n",
@@ -306,13 +1839,29 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 20,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "total_price 9604251.0\n",
+ "dtype: float64"
+ ]
+ },
+ "execution_count": 20,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"# CodeGrade step8\n",
"# Replace None with your code\n",
- "sum_total_price = None"
+ "sum_total_price = \"\"\"\n",
+ " SELECT ROUND(priceEach * quantityOrdered) AS total_price\n",
+ " FROM orderDetails;\n",
+ "\"\"\"\n",
+ "pd.read_sql(sum_total_price, conn).sum()"
]
},
{
@@ -328,13 +1877,152 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 21,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " orderDate | \n",
+ " day | \n",
+ " month | \n",
+ " year | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 2003-01-06 | \n",
+ " 06 | \n",
+ " 01 | \n",
+ " 2003 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2003-01-09 | \n",
+ " 09 | \n",
+ " 01 | \n",
+ " 2003 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2003-01-10 | \n",
+ " 10 | \n",
+ " 01 | \n",
+ " 2003 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 2003-01-29 | \n",
+ " 29 | \n",
+ " 01 | \n",
+ " 2003 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 2003-01-31 | \n",
+ " 31 | \n",
+ " 01 | \n",
+ " 2003 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 321 | \n",
+ " 2005-05-29 | \n",
+ " 29 | \n",
+ " 05 | \n",
+ " 2005 | \n",
+ "
\n",
+ " \n",
+ " | 322 | \n",
+ " 2005-05-30 | \n",
+ " 30 | \n",
+ " 05 | \n",
+ " 2005 | \n",
+ "
\n",
+ " \n",
+ " | 323 | \n",
+ " 2005-05-30 | \n",
+ " 30 | \n",
+ " 05 | \n",
+ " 2005 | \n",
+ "
\n",
+ " \n",
+ " | 324 | \n",
+ " 2005-05-31 | \n",
+ " 31 | \n",
+ " 05 | \n",
+ " 2005 | \n",
+ "
\n",
+ " \n",
+ " | 325 | \n",
+ " 2005-05-31 | \n",
+ " 31 | \n",
+ " 05 | \n",
+ " 2005 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
326 rows × 4 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " orderDate day month year\n",
+ "0 2003-01-06 06 01 2003\n",
+ "1 2003-01-09 09 01 2003\n",
+ "2 2003-01-10 10 01 2003\n",
+ "3 2003-01-29 29 01 2003\n",
+ "4 2003-01-31 31 01 2003\n",
+ ".. ... .. ... ...\n",
+ "321 2005-05-29 29 05 2005\n",
+ "322 2005-05-30 30 05 2005\n",
+ "323 2005-05-30 30 05 2005\n",
+ "324 2005-05-31 31 05 2005\n",
+ "325 2005-05-31 31 05 2005\n",
+ "\n",
+ "[326 rows x 4 columns]"
+ ]
+ },
+ "execution_count": 21,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"# CodeGrade step9\n",
"# Replace None with your code\n",
- "df_day_month_year = None"
+ "df_day_month_year = \"\"\"\n",
+ " SELECT orderDate,\n",
+ " STRFTIME('%d', orderDate) AS day,\n",
+ " STRFTIME('%m', orderDate) AS month,\n",
+ " STRFTIME('%Y', orderDate) AS year\n",
+ " FROM orders;\n",
+ "\"\"\"\n",
+ "pd.read_sql(df_day_month_year, conn)"
]
},
{
@@ -346,7 +2034,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
@@ -361,11 +2049,21 @@
"provenance": []
},
"kernelspec": {
- "display_name": "Python 3",
+ "display_name": "base",
+ "language": "python",
"name": "python3"
},
"language_info": {
- "name": "python"
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.13.5"
}
},
"nbformat": 4,