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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
employeeNumberlastNamefirstNameextensionemailofficeCodereportsTojobTitle
01002MurphyDianex5800dmurphy@classicmodelcars.com1President
11056PattersonMaryx4611mpatterso@classicmodelcars.com11002VP Sales
21076FirrelliJeffx9273jfirrelli@classicmodelcars.com11002VP Marketing
31088PattersonWilliamx4871wpatterson@classicmodelcars.com61056Sales Manager (APAC)
41102BondurGerardx5408gbondur@classicmodelcars.com41056Sale Manager (EMEA)
51143BowAnthonyx5428abow@classicmodelcars.com11056Sales Manager (NA)
61165JenningsLesliex3291ljennings@classicmodelcars.com11143Sales Rep
71166ThompsonLesliex4065lthompson@classicmodelcars.com11143Sales Rep
81188FirrelliJuliex2173jfirrelli@classicmodelcars.com21143Sales Rep
91216PattersonStevex4334spatterson@classicmodelcars.com21143Sales Rep
101286TsengFoon Yuex2248ftseng@classicmodelcars.com31143Sales Rep
111323VanaufGeorgex4102gvanauf@classicmodelcars.com31143Sales Rep
121337BondurLouix6493lbondur@classicmodelcars.com41102Sales Rep
131370HernandezGerardx2028ghernande@classicmodelcars.com41102Sales Rep
141401CastilloPamelax2759pcastillo@classicmodelcars.com41102Sales Rep
151501BottLarryx2311lbott@classicmodelcars.com71102Sales Rep
161504JonesBarryx102bjones@classicmodelcars.com71102Sales Rep
171611FixterAndyx101afixter@classicmodelcars.com61088Sales Rep
181612MarshPeterx102pmarsh@classicmodelcars.com61088Sales Rep
191619KingTomx103tking@classicmodelcars.com61088Sales Rep
201621NishiMamix101mnishi@classicmodelcars.com51056Sales Rep
211625KatoYoshimix102ykato@classicmodelcars.com51621Sales Rep
221702GerardMartinx2312mgerard@classicmodelcars.com41102Sales Rep
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
employeeNumberlastName
01002Murphy
11056Patterson
21076Firrelli
31088Patterson
41102Bondur
51143Bow
61165Jennings
71166Thompson
81188Firrelli
91216Patterson
101286Tseng
111323Vanauf
121337Bondur
131370Hernandez
141401Castillo
151501Bott
161504Jones
171611Fixter
181612Marsh
191619King
201621Nishi
211625Kato
221702Gerard
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
lastNameemployeeNumber
0Murphy1002
1Patterson1056
2Firrelli1076
3Patterson1088
4Bondur1102
5Bow1143
6Jennings1165
7Thompson1166
8Firrelli1188
9Patterson1216
10Tseng1286
11Vanauf1323
12Bondur1337
13Hernandez1370
14Castillo1401
15Bott1501
16Jones1504
17Fixter1611
18Marsh1612
19King1619
20Nishi1621
21Kato1625
22Gerard1702
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
lastNameID
0Murphy1002
1Patterson1056
2Firrelli1076
3Patterson1088
4Bondur1102
5Bow1143
6Jennings1165
7Thompson1166
8Firrelli1188
9Patterson1216
10Tseng1286
11Vanauf1323
12Bondur1337
13Hernandez1370
14Castillo1401
15Bott1501
16Jones1504
17Fixter1611
18Marsh1612
19King1619
20Nishi1621
21Kato1625
22Gerard1702
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
lastNamerole
0MurphyExecutive
1PattersonExecutive
2FirrelliExecutive
3PattersonNot Executive
4BondurNot Executive
5BowNot Executive
6JenningsNot Executive
7ThompsonNot Executive
8FirrelliNot Executive
9PattersonNot Executive
10TsengNot Executive
11VanaufNot Executive
12BondurNot Executive
13HernandezNot Executive
14CastilloNot Executive
15BottNot Executive
16JonesNot Executive
17FixterNot Executive
18MarshNot Executive
19KingNot Executive
20NishiNot Executive
21KatoNot Executive
22GerardNot Executive
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
name_length
06
19
28
39
46
53
68
78
88
99
105
116
126
139
148
154
165
176
185
194
205
214
226
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
short_title
0Pr
1VP
2VP
3Sa
4Sa
5Sa
6Sa
7Sa
8Sa
9Sa
10Sa
11Sa
12Sa
13Sa
14Sa
15Sa
16Sa
17Sa
18Sa
19Sa
20Sa
21Sa
22Sa
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
orderNumberproductCodequantityOrderedpriceEachorderLineNumber
010100S18_174930136.003
110100S18_22485055.092
210100S18_44092275.464
310100S24_39694935.291
410101S18_232525108.064
..................
299110425S24_230049127.799
299210425S24_28403131.825
299310425S32_12684183.7911
299410425S32_25091150.326
299510425S50_13921894.922
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
orderDatedaymonthyear
02003-01-0606012003
12003-01-0909012003
22003-01-1010012003
32003-01-2929012003
42003-01-3131012003
...............
3212005-05-2929052005
3222005-05-3030052005
3232005-05-3030052005
3242005-05-3131052005
3252005-05-3131052005
\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,