diff --git a/src/northwind.db b/src/northwind.db
new file mode 100644
index 0000000..da01968
Binary files /dev/null and b/src/northwind.db differ
diff --git a/src/queries.ipynb b/src/queries.ipynb
new file mode 100644
index 0000000..72aae05
--- /dev/null
+++ b/src/queries.ipynb
@@ -0,0 +1,1172 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "74d37e52",
+ "metadata": {},
+ "source": [
+ "#### load SQL extension"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "16560880",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "%reload_ext sql"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "1caf23d4",
+ "metadata": {},
+ "source": [
+ "#### Connect to northwind db"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "db2bad45",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'Connected: @northwind.db'"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "%sql sqlite:///northwind.db"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "74d837e4",
+ "metadata": {},
+ "source": [
+ "#### test connection"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "5bcd0d99",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " * sqlite:///northwind.db\n",
+ "Done.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ " \n",
+ " \n",
+ " | FirstName | \n",
+ " LastName | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Nancy | \n",
+ " Davolio | \n",
+ "
\n",
+ " \n",
+ " | Andrew | \n",
+ " Fuller | \n",
+ "
\n",
+ " \n",
+ " | Janet | \n",
+ " Leverling | \n",
+ "
\n",
+ " \n",
+ " | Margaret | \n",
+ " Peacock | \n",
+ "
\n",
+ " \n",
+ " | Steven | \n",
+ " Buchanan | \n",
+ "
\n",
+ " \n",
+ " | Michael | \n",
+ " Suyama | \n",
+ "
\n",
+ " \n",
+ " | Robert | \n",
+ " King | \n",
+ "
\n",
+ " \n",
+ " | Laura | \n",
+ " Callahan | \n",
+ "
\n",
+ " \n",
+ " | Anne | \n",
+ " Dodsworth | \n",
+ "
\n",
+ " \n",
+ "
"
+ ],
+ "text/plain": [
+ "[('Nancy', 'Davolio'),\n",
+ " ('Andrew', 'Fuller'),\n",
+ " ('Janet', 'Leverling'),\n",
+ " ('Margaret', 'Peacock'),\n",
+ " ('Steven', 'Buchanan'),\n",
+ " ('Michael', 'Suyama'),\n",
+ " ('Robert', 'King'),\n",
+ " ('Laura', 'Callahan'),\n",
+ " ('Anne', 'Dodsworth')]"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "%%sql\n",
+ "SELECT\n",
+ " FirstName,LastName\n",
+ "FROM \n",
+ " Employees\n",
+ "LIMIT\n",
+ " 10;\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "4fd9143c",
+ "metadata": {},
+ "source": [
+ "#### Exercise 1\n",
+ "#### Find the names of all customers from Germany in the Northwind database."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "id": "05e46774",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " * sqlite:///northwind.db\n",
+ "Done.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ " \n",
+ " \n",
+ " | ContactName | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Maria Anders | \n",
+ "
\n",
+ " \n",
+ " | Hanna Moos | \n",
+ "
\n",
+ " \n",
+ " | Sven Ottlieb | \n",
+ "
\n",
+ " \n",
+ " | Peter Franken | \n",
+ "
\n",
+ " \n",
+ " | Philip Cramer | \n",
+ "
\n",
+ " \n",
+ " | Renate Messner | \n",
+ "
\n",
+ " \n",
+ " | Alexander Feuer | \n",
+ "
\n",
+ " \n",
+ " | Henriette Pfalzheim | \n",
+ "
\n",
+ " \n",
+ " | Horst Kloss | \n",
+ "
\n",
+ " \n",
+ " | Karin Josephs | \n",
+ "
\n",
+ " \n",
+ " | Rita Müller | \n",
+ "
\n",
+ " \n",
+ "
"
+ ],
+ "text/plain": [
+ "[('Maria Anders',),\n",
+ " ('Hanna Moos',),\n",
+ " ('Sven Ottlieb',),\n",
+ " ('Peter Franken',),\n",
+ " ('Philip Cramer',),\n",
+ " ('Renate Messner',),\n",
+ " ('Alexander Feuer',),\n",
+ " ('Henriette Pfalzheim',),\n",
+ " ('Horst Kloss',),\n",
+ " ('Karin Josephs',),\n",
+ " ('Rita Müller',)]"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "%%sql\n",
+ "SELECT\n",
+ " ContactName\n",
+ "FROM\n",
+ " Customers\n",
+ "WHERE\n",
+ " Country = \"Germany\";\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "af54dffe",
+ "metadata": {},
+ "source": [
+ "#### Exercise 2\n",
+ "#### Find all products in the Northwind database that have a unit price greater than 30 and are discontinued.\n",
+ "\n",
+ "#### Note: The product has been discontinued when the column Discontinued is equal to 1."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "id": "afdf72b2",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " * sqlite:///northwind.db\n",
+ "Done.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ " \n",
+ " \n",
+ " | ProductName | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Mishi Kobe Niku | \n",
+ "
\n",
+ " \n",
+ " | Alice Mutton | \n",
+ "
\n",
+ " \n",
+ " | Rössle Sauerkraut | \n",
+ "
\n",
+ " \n",
+ " | Thüringer Rostbratwurst | \n",
+ "
\n",
+ " \n",
+ " | Perth Pasties | \n",
+ "
\n",
+ " \n",
+ "
"
+ ],
+ "text/plain": [
+ "[('Mishi Kobe Niku',),\n",
+ " ('Alice Mutton',),\n",
+ " ('Rössle Sauerkraut',),\n",
+ " ('Thüringer Rostbratwurst',),\n",
+ " ('Perth Pasties',)]"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "%%sql\n",
+ "SELECT\n",
+ " ProductName\n",
+ "FROM\n",
+ " Products\n",
+ "WHERE\n",
+ " UnitPrice > 30\n",
+ "AND\n",
+ " Discontinued = 1;\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "8466c27e",
+ "metadata": {},
+ "source": [
+ "#### Exercise 3\n",
+ "#### Find the contact names and phone numbers of customers from either 'USA' or 'Canada'."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "id": "364fc016",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " * sqlite:///northwind.db\n",
+ "Done.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ " \n",
+ " \n",
+ " | ContactName | \n",
+ " Phone | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Elizabeth Lincoln | \n",
+ " (604) 555-4729 | \n",
+ "
\n",
+ " \n",
+ " | Howard Snyder | \n",
+ " (503) 555-7555 | \n",
+ "
\n",
+ " \n",
+ " | Yoshi Latimer | \n",
+ " (503) 555-6874 | \n",
+ "
\n",
+ " \n",
+ " | Yoshi Tannamuri | \n",
+ " (604) 555-3392 | \n",
+ "
\n",
+ " \n",
+ " | John Steel | \n",
+ " (509) 555-7969 | \n",
+ "
\n",
+ " \n",
+ " | Jaime Yorres | \n",
+ " (415) 555-5938 | \n",
+ "
\n",
+ " \n",
+ " | Fran Wilson | \n",
+ " (503) 555-9573 | \n",
+ "
\n",
+ " \n",
+ " | Jean Fresnière | \n",
+ " (514) 555-8054 | \n",
+ "
\n",
+ " \n",
+ " | Rene Phillips | \n",
+ " (907) 555-7584 | \n",
+ "
\n",
+ " \n",
+ " | Paula Wilson | \n",
+ " (505) 555-5939 | \n",
+ "
\n",
+ " \n",
+ " | Jose Pavarotti | \n",
+ " (208) 555-8097 | \n",
+ "
\n",
+ " \n",
+ " | Art Braunschweiger | \n",
+ " (307) 555-4680 | \n",
+ "
\n",
+ " \n",
+ " | Liz Nixon | \n",
+ " (503) 555-3612 | \n",
+ "
\n",
+ " \n",
+ " | Liu Wong | \n",
+ " (406) 555-5834 | \n",
+ "
\n",
+ " \n",
+ " | Helvetius Nagy | \n",
+ " (206) 555-8257 | \n",
+ "
\n",
+ " \n",
+ " | Karl Jablonski | \n",
+ " (206) 555-4112 | \n",
+ "
\n",
+ " \n",
+ "
"
+ ],
+ "text/plain": [
+ "[('Elizabeth Lincoln', '(604) 555-4729'),\n",
+ " ('Howard Snyder', '(503) 555-7555'),\n",
+ " ('Yoshi Latimer', '(503) 555-6874'),\n",
+ " ('Yoshi Tannamuri', '(604) 555-3392'),\n",
+ " ('John Steel', '(509) 555-7969'),\n",
+ " ('Jaime Yorres', '(415) 555-5938'),\n",
+ " ('Fran Wilson', '(503) 555-9573'),\n",
+ " ('Jean Fresnière', '(514) 555-8054'),\n",
+ " ('Rene Phillips', '(907) 555-7584'),\n",
+ " ('Paula Wilson', '(505) 555-5939'),\n",
+ " ('Jose Pavarotti', '(208) 555-8097'),\n",
+ " ('Art Braunschweiger', '(307) 555-4680'),\n",
+ " ('Liz Nixon', '(503) 555-3612'),\n",
+ " ('Liu Wong', '(406) 555-5834'),\n",
+ " ('Helvetius Nagy', '(206) 555-8257'),\n",
+ " ('Karl Jablonski', '(206) 555-4112')]"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "%%sql\n",
+ "SELECT\n",
+ " ContactName,Phone\n",
+ "FROM\n",
+ " Customers\n",
+ "WHERE \n",
+ " Country IN(\"USA\",\"Canada\");"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2d91e113",
+ "metadata": {},
+ "source": [
+ "#### Exercise 4\n",
+ "#### From the 'Orders' table, select all orders that were placed by 'VINET', 'QUICK' or 'SUPRD' and were shipped via #### shipper 1 or 2."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "id": "f55d3668",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " * sqlite:///northwind.db\n",
+ "Done.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ " \n",
+ " \n",
+ " | OrderID | \n",
+ " CustomerID | \n",
+ " EmployeeID | \n",
+ " OrderDate | \n",
+ " RequiredDate | \n",
+ " ShippedDate | \n",
+ " ShipVia | \n",
+ " Freight | \n",
+ " ShipName | \n",
+ " ShipAddress | \n",
+ " ShipCity | \n",
+ " ShipRegion | \n",
+ " ShipPostalCode | \n",
+ " ShipCountry | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 10252 | \n",
+ " SUPRD | \n",
+ " 4 | \n",
+ " 2016-07-09 | \n",
+ " 2016-08-06 | \n",
+ " 2016-07-11 | \n",
+ " 2 | \n",
+ " 36.25 | \n",
+ " Suprêmes délices | \n",
+ " Boulevard Tirou, 255 | \n",
+ " Charleroi | \n",
+ " Western Europe | \n",
+ " B-6000 | \n",
+ " Belgium | \n",
+ "
\n",
+ " \n",
+ " | 10274 | \n",
+ " VINET | \n",
+ " 6 | \n",
+ " 2016-08-06 | \n",
+ " 2016-09-03 | \n",
+ " 2016-08-16 | \n",
+ " 1 | \n",
+ " 16.75 | \n",
+ " Vins et alcools Chevalier | \n",
+ " 59 rue de l-Abbaye | \n",
+ " Reims | \n",
+ " Western Europe | \n",
+ " 51100 | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " | 10285 | \n",
+ " QUICK | \n",
+ " 1 | \n",
+ " 2016-08-20 | \n",
+ " 2016-09-17 | \n",
+ " 2016-08-26 | \n",
+ " 2 | \n",
+ " 40.25 | \n",
+ " QUICK-Stop | \n",
+ " Taucherstraße 10 | \n",
+ " Cunewalde | \n",
+ " Western Europe | \n",
+ " 1307 | \n",
+ " Germany | \n",
+ "
\n",
+ " \n",
+ " | 10295 | \n",
+ " VINET | \n",
+ " 2 | \n",
+ " 2016-09-02 | \n",
+ " 2016-09-30 | \n",
+ " 2016-09-10 | \n",
+ " 2 | \n",
+ " 11 | \n",
+ " Vins et alcools Chevalier | \n",
+ " 59 rue de l-Abbaye | \n",
+ " Reims | \n",
+ " Western Europe | \n",
+ " 51100 | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " | 10302 | \n",
+ " SUPRD | \n",
+ " 4 | \n",
+ " 2016-09-10 | \n",
+ " 2016-10-08 | \n",
+ " 2016-10-09 | \n",
+ " 2 | \n",
+ " 30 | \n",
+ " Suprêmes délices | \n",
+ " Boulevard Tirou, 255 | \n",
+ " Charleroi | \n",
+ " Western Europe | \n",
+ " B-6000 | \n",
+ " Belgium | \n",
+ "
\n",
+ " \n",
+ " | 10313 | \n",
+ " QUICK | \n",
+ " 2 | \n",
+ " 2016-09-24 | \n",
+ " 2016-10-22 | \n",
+ " 2016-10-04 | \n",
+ " 2 | \n",
+ " 13 | \n",
+ " QUICK-Stop | \n",
+ " Taucherstraße 10 | \n",
+ " Cunewalde | \n",
+ " Western Europe | \n",
+ " 1307 | \n",
+ " Germany | \n",
+ "
\n",
+ " \n",
+ " | 10345 | \n",
+ " QUICK | \n",
+ " 2 | \n",
+ " 2016-11-04 | \n",
+ " 2016-12-02 | \n",
+ " 2016-11-11 | \n",
+ " 2 | \n",
+ " 49.75 | \n",
+ " QUICK-Stop | \n",
+ " Taucherstraße 10 | \n",
+ " Cunewalde | \n",
+ " Western Europe | \n",
+ " 1307 | \n",
+ " Germany | \n",
+ "
\n",
+ " \n",
+ " | 10361 | \n",
+ " QUICK | \n",
+ " 1 | \n",
+ " 2016-11-22 | \n",
+ " 2016-12-20 | \n",
+ " 2016-12-03 | \n",
+ " 2 | \n",
+ " 37.25 | \n",
+ " QUICK-Stop | \n",
+ " Taucherstraße 10 | \n",
+ " Cunewalde | \n",
+ " Western Europe | \n",
+ " 1307 | \n",
+ " Germany | \n",
+ "
\n",
+ " \n",
+ " | 10418 | \n",
+ " QUICK | \n",
+ " 4 | \n",
+ " 2017-01-17 | \n",
+ " 2017-02-14 | \n",
+ " 2017-01-24 | \n",
+ " 1 | \n",
+ " 46.5 | \n",
+ " QUICK-Stop | \n",
+ " Taucherstraße 10 | \n",
+ " Cunewalde | \n",
+ " Western Europe | \n",
+ " 1307 | \n",
+ " Germany | \n",
+ "
\n",
+ " \n",
+ " | 10475 | \n",
+ " SUPRD | \n",
+ " 9 | \n",
+ " 2017-03-14 | \n",
+ " 2017-04-11 | \n",
+ " 2017-04-04 | \n",
+ " 1 | \n",
+ " 44.25 | \n",
+ " Suprêmes délices | \n",
+ " Boulevard Tirou, 255 | \n",
+ " Charleroi | \n",
+ " Western Europe | \n",
+ " B-6000 | \n",
+ " Belgium | \n",
+ "
\n",
+ " \n",
+ " | 10515 | \n",
+ " QUICK | \n",
+ " 2 | \n",
+ " 2017-04-23 | \n",
+ " 2017-05-07 | \n",
+ " 2017-05-23 | \n",
+ " 1 | \n",
+ " 81.5 | \n",
+ " QUICK-Stop | \n",
+ " Taucherstraße 10 | \n",
+ " Cunewalde | \n",
+ " Western Europe | \n",
+ " 1307 | \n",
+ " Germany | \n",
+ "
\n",
+ " \n",
+ " | 10527 | \n",
+ " QUICK | \n",
+ " 7 | \n",
+ " 2017-05-05 | \n",
+ " 2017-06-02 | \n",
+ " 2017-05-07 | \n",
+ " 1 | \n",
+ " 30 | \n",
+ " QUICK-Stop | \n",
+ " Taucherstraße 10 | \n",
+ " Cunewalde | \n",
+ " Western Europe | \n",
+ " 1307 | \n",
+ " Germany | \n",
+ "
\n",
+ " \n",
+ " | 10549 | \n",
+ " QUICK | \n",
+ " 5 | \n",
+ " 2017-05-27 | \n",
+ " 2017-06-10 | \n",
+ " 2017-05-30 | \n",
+ " 1 | \n",
+ " 60.75 | \n",
+ " QUICK-Stop | \n",
+ " Taucherstraße 10 | \n",
+ " Cunewalde | \n",
+ " Western Europe | \n",
+ " 1307 | \n",
+ " Germany | \n",
+ "
\n",
+ " \n",
+ " | 10658 | \n",
+ " QUICK | \n",
+ " 4 | \n",
+ " 2017-09-05 | \n",
+ " 2017-10-03 | \n",
+ " 2017-09-08 | \n",
+ " 1 | \n",
+ " 73.75 | \n",
+ " QUICK-Stop | \n",
+ " Taucherstraße 10 | \n",
+ " Cunewalde | \n",
+ " Western Europe | \n",
+ " 1307 | \n",
+ " Germany | \n",
+ "
\n",
+ " \n",
+ " | 10691 | \n",
+ " QUICK | \n",
+ " 2 | \n",
+ " 2017-10-03 | \n",
+ " 2017-11-14 | \n",
+ " 2017-10-22 | \n",
+ " 2 | \n",
+ " 55.5 | \n",
+ " QUICK-Stop | \n",
+ " Taucherstraße 10 | \n",
+ " Cunewalde | \n",
+ " Western Europe | \n",
+ " 1307 | \n",
+ " Germany | \n",
+ "
\n",
+ " \n",
+ " | 10737 | \n",
+ " VINET | \n",
+ " 2 | \n",
+ " 2017-11-11 | \n",
+ " 2017-12-09 | \n",
+ " 2017-11-18 | \n",
+ " 2 | \n",
+ " 14 | \n",
+ " Vins et alcools Chevalier | \n",
+ " 59 rue de l-Abbaye | \n",
+ " Reims | \n",
+ " Western Europe | \n",
+ " 51100 | \n",
+ " France | \n",
+ "
\n",
+ " \n",
+ " | 10745 | \n",
+ " QUICK | \n",
+ " 9 | \n",
+ " 2017-11-18 | \n",
+ " 2017-12-16 | \n",
+ " 2017-11-27 | \n",
+ " 1 | \n",
+ " 33 | \n",
+ " QUICK-Stop | \n",
+ " Taucherstraße 10 | \n",
+ " Cunewalde | \n",
+ " Western Europe | \n",
+ " 1307 | \n",
+ " Germany | \n",
+ "
\n",
+ " \n",
+ " | 10788 | \n",
+ " QUICK | \n",
+ " 1 | \n",
+ " 2017-12-22 | \n",
+ " 2018-01-19 | \n",
+ " 2018-01-19 | \n",
+ " 2 | \n",
+ " 32.5 | \n",
+ " QUICK-Stop | \n",
+ " Taucherstraße 10 | \n",
+ " Cunewalde | \n",
+ " Western Europe | \n",
+ " 1307 | \n",
+ " Germany | \n",
+ "
\n",
+ " \n",
+ " | 10841 | \n",
+ " SUPRD | \n",
+ " 5 | \n",
+ " 2018-01-20 | \n",
+ " 2018-02-17 | \n",
+ " 2018-01-29 | \n",
+ " 2 | \n",
+ " 37.75 | \n",
+ " Suprêmes délices | \n",
+ " Boulevard Tirou, 255 | \n",
+ " Charleroi | \n",
+ " Western Europe | \n",
+ " B-6000 | \n",
+ " Belgium | \n",
+ "
\n",
+ " \n",
+ " | 10845 | \n",
+ " QUICK | \n",
+ " 8 | \n",
+ " 2018-01-21 | \n",
+ " 2018-02-04 | \n",
+ " 2018-01-30 | \n",
+ " 1 | \n",
+ " 71.25 | \n",
+ " QUICK-Stop | \n",
+ " Taucherstraße 10 | \n",
+ " Cunewalde | \n",
+ " Western Europe | \n",
+ " 1307 | \n",
+ " Germany | \n",
+ "
\n",
+ " \n",
+ "
"
+ ],
+ "text/plain": [
+ "[(10252, 'SUPRD', 4, '2016-07-09', '2016-08-06', '2016-07-11', 2, 36.25, 'Suprêmes délices', 'Boulevard Tirou, 255', 'Charleroi', 'Western Europe', 'B-6000', 'Belgium'),\n",
+ " (10274, 'VINET', 6, '2016-08-06', '2016-09-03', '2016-08-16', 1, 16.75, 'Vins et alcools Chevalier', '59 rue de l-Abbaye', 'Reims', 'Western Europe', '51100', 'France'),\n",
+ " (10285, 'QUICK', 1, '2016-08-20', '2016-09-17', '2016-08-26', 2, 40.25, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', 'Western Europe', '1307', 'Germany'),\n",
+ " (10295, 'VINET', 2, '2016-09-02', '2016-09-30', '2016-09-10', 2, 11, 'Vins et alcools Chevalier', '59 rue de l-Abbaye', 'Reims', 'Western Europe', '51100', 'France'),\n",
+ " (10302, 'SUPRD', 4, '2016-09-10', '2016-10-08', '2016-10-09', 2, 30, 'Suprêmes délices', 'Boulevard Tirou, 255', 'Charleroi', 'Western Europe', 'B-6000', 'Belgium'),\n",
+ " (10313, 'QUICK', 2, '2016-09-24', '2016-10-22', '2016-10-04', 2, 13, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', 'Western Europe', '1307', 'Germany'),\n",
+ " (10345, 'QUICK', 2, '2016-11-04', '2016-12-02', '2016-11-11', 2, 49.75, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', 'Western Europe', '1307', 'Germany'),\n",
+ " (10361, 'QUICK', 1, '2016-11-22', '2016-12-20', '2016-12-03', 2, 37.25, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', 'Western Europe', '1307', 'Germany'),\n",
+ " (10418, 'QUICK', 4, '2017-01-17', '2017-02-14', '2017-01-24', 1, 46.5, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', 'Western Europe', '1307', 'Germany'),\n",
+ " (10475, 'SUPRD', 9, '2017-03-14', '2017-04-11', '2017-04-04', 1, 44.25, 'Suprêmes délices', 'Boulevard Tirou, 255', 'Charleroi', 'Western Europe', 'B-6000', 'Belgium'),\n",
+ " (10515, 'QUICK', 2, '2017-04-23', '2017-05-07', '2017-05-23', 1, 81.5, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', 'Western Europe', '1307', 'Germany'),\n",
+ " (10527, 'QUICK', 7, '2017-05-05', '2017-06-02', '2017-05-07', 1, 30, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', 'Western Europe', '1307', 'Germany'),\n",
+ " (10549, 'QUICK', 5, '2017-05-27', '2017-06-10', '2017-05-30', 1, 60.75, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', 'Western Europe', '1307', 'Germany'),\n",
+ " (10658, 'QUICK', 4, '2017-09-05', '2017-10-03', '2017-09-08', 1, 73.75, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', 'Western Europe', '1307', 'Germany'),\n",
+ " (10691, 'QUICK', 2, '2017-10-03', '2017-11-14', '2017-10-22', 2, 55.5, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', 'Western Europe', '1307', 'Germany'),\n",
+ " (10737, 'VINET', 2, '2017-11-11', '2017-12-09', '2017-11-18', 2, 14, 'Vins et alcools Chevalier', '59 rue de l-Abbaye', 'Reims', 'Western Europe', '51100', 'France'),\n",
+ " (10745, 'QUICK', 9, '2017-11-18', '2017-12-16', '2017-11-27', 1, 33, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', 'Western Europe', '1307', 'Germany'),\n",
+ " (10788, 'QUICK', 1, '2017-12-22', '2018-01-19', '2018-01-19', 2, 32.5, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', 'Western Europe', '1307', 'Germany'),\n",
+ " (10841, 'SUPRD', 5, '2018-01-20', '2018-02-17', '2018-01-29', 2, 37.75, 'Suprêmes délices', 'Boulevard Tirou, 255', 'Charleroi', 'Western Europe', 'B-6000', 'Belgium'),\n",
+ " (10845, 'QUICK', 8, '2018-01-21', '2018-02-04', '2018-01-30', 1, 71.25, 'QUICK-Stop', 'Taucherstraße 10', 'Cunewalde', 'Western Europe', '1307', 'Germany')]"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "%%sql\n",
+ "SELECT\n",
+ " *\n",
+ "FROM\n",
+ " Orders\n",
+ "WHERE\n",
+ " CustomerID IN(\"VINET\",\"QUICK\",\"SUPRD\")\n",
+ "AND\n",
+ " ShipVia IN(1,2)\n",
+ "LIMIT\n",
+ " 20;\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "daba3b78",
+ "metadata": {},
+ "source": [
+ "#### Challenge question\n",
+ "#### Find the employees in the Northwind database who are either Sales Representatives or Sales Managers and are #### based in London."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "id": "3602a70e",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " * sqlite:///northwind.db\n",
+ "Done.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ " \n",
+ " \n",
+ " | FirstName | \n",
+ " LastName | \n",
+ " Title | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Steven | \n",
+ " Buchanan | \n",
+ " Sales Manager | \n",
+ "
\n",
+ " \n",
+ " | Michael | \n",
+ " Suyama | \n",
+ " Sales Representative | \n",
+ "
\n",
+ " \n",
+ " | Robert | \n",
+ " King | \n",
+ " Sales Representative | \n",
+ "
\n",
+ " \n",
+ " | Anne | \n",
+ " Dodsworth | \n",
+ " Sales Representative | \n",
+ "
\n",
+ " \n",
+ "
"
+ ],
+ "text/plain": [
+ "[('Steven', 'Buchanan', 'Sales Manager'),\n",
+ " ('Michael', 'Suyama', 'Sales Representative'),\n",
+ " ('Robert', 'King', 'Sales Representative'),\n",
+ " ('Anne', 'Dodsworth', 'Sales Representative')]"
+ ]
+ },
+ "execution_count": 20,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "%%sql\n",
+ "SELECT\n",
+ " FirstName,LastName,Title\n",
+ "FROM\n",
+ " Employees\n",
+ "WHERE\n",
+ " Title IN(\"Sales Representative\",\"Sales Manager\")\n",
+ "AND\n",
+ " City = \"London\";"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ff96b919",
+ "metadata": {},
+ "source": [
+ "#### suppliers - companyName and contactName"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "id": "9bf0f20c",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " * sqlite:///northwind.db\n",
+ "Done.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ " \n",
+ " \n",
+ " | CompanyName | \n",
+ " ContactName | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Exotic Liquids | \n",
+ " Charlotte Cooper | \n",
+ "
\n",
+ " \n",
+ " | New Orleans Cajun Delights | \n",
+ " Shelley Burke | \n",
+ "
\n",
+ " \n",
+ " | Grandma Kelly's Homestead | \n",
+ " Regina Murphy | \n",
+ "
\n",
+ " \n",
+ " | Tokyo Traders | \n",
+ " Yoshi Nagase | \n",
+ "
\n",
+ " \n",
+ " | Cooperativa de Quesos 'Las Cabras' | \n",
+ " Antonio del Valle Saavedra | \n",
+ "
\n",
+ " \n",
+ " | Mayumi's | \n",
+ " Mayumi Ohno | \n",
+ "
\n",
+ " \n",
+ " | Pavlova, Ltd. | \n",
+ " Ian Devling | \n",
+ "
\n",
+ " \n",
+ " | Specialty Biscuits, Ltd. | \n",
+ " Peter Wilson | \n",
+ "
\n",
+ " \n",
+ " | PB Knäckebröd AB | \n",
+ " Lars Peterson | \n",
+ "
\n",
+ " \n",
+ " | Refrescos Americanas LTDA | \n",
+ " Carlos Diaz | \n",
+ "
\n",
+ " \n",
+ " | Heli Süßwaren GmbH & Co. KG | \n",
+ " Petra Winkler | \n",
+ "
\n",
+ " \n",
+ " | Plutzer Lebensmittelgroßmärkte AG | \n",
+ " Martin Bein | \n",
+ "
\n",
+ " \n",
+ " | Nord-Ost-Fisch Handelsgesellschaft mbH | \n",
+ " Sven Petersen | \n",
+ "
\n",
+ " \n",
+ " | Formaggi Fortini s.r.l. | \n",
+ " Elio Rossi | \n",
+ "
\n",
+ " \n",
+ " | Norske Meierier | \n",
+ " Beate Vileid | \n",
+ "
\n",
+ " \n",
+ " | Bigfoot Breweries | \n",
+ " Cheryl Saylor | \n",
+ "
\n",
+ " \n",
+ " | Svensk Sjöföda AB | \n",
+ " Michael Björn | \n",
+ "
\n",
+ " \n",
+ " | Aux joyeux ecclésiastiques | \n",
+ " Guylène Nodier | \n",
+ "
\n",
+ " \n",
+ " | New England Seafood Cannery | \n",
+ " Robb Merchant | \n",
+ "
\n",
+ " \n",
+ " | Leka Trading | \n",
+ " Chandra Leka | \n",
+ "
\n",
+ " \n",
+ " | Lyngbysild | \n",
+ " Niels Petersen | \n",
+ "
\n",
+ " \n",
+ " | Zaanse Snoepfabriek | \n",
+ " Dirk Luchte | \n",
+ "
\n",
+ " \n",
+ " | Karkki Oy | \n",
+ " Anne Heikkonen | \n",
+ "
\n",
+ " \n",
+ " | G'day, Mate | \n",
+ " Wendy Mackenzie | \n",
+ "
\n",
+ " \n",
+ " | Ma Maison | \n",
+ " Jean-Guy Lauzon | \n",
+ "
\n",
+ " \n",
+ " | Pasta Buttini s.r.l. | \n",
+ " Giovanni Giudici | \n",
+ "
\n",
+ " \n",
+ " | Escargots Nouveaux | \n",
+ " Marie Delamare | \n",
+ "
\n",
+ " \n",
+ " | Gai pâturage | \n",
+ " Eliane Noz | \n",
+ "
\n",
+ " \n",
+ " | Forêts d'érables | \n",
+ " Chantal Goulet | \n",
+ "
\n",
+ " \n",
+ "
"
+ ],
+ "text/plain": [
+ "[('Exotic Liquids', 'Charlotte Cooper'),\n",
+ " ('New Orleans Cajun Delights', 'Shelley Burke'),\n",
+ " (\"Grandma Kelly's Homestead\", 'Regina Murphy'),\n",
+ " ('Tokyo Traders', 'Yoshi Nagase'),\n",
+ " (\"Cooperativa de Quesos 'Las Cabras'\", 'Antonio del Valle Saavedra '),\n",
+ " (\"Mayumi's\", 'Mayumi Ohno'),\n",
+ " ('Pavlova, Ltd.', 'Ian Devling'),\n",
+ " ('Specialty Biscuits, Ltd.', 'Peter Wilson'),\n",
+ " ('PB Knäckebröd AB', 'Lars Peterson'),\n",
+ " ('Refrescos Americanas LTDA', 'Carlos Diaz'),\n",
+ " ('Heli Süßwaren GmbH & Co. KG', 'Petra Winkler'),\n",
+ " ('Plutzer Lebensmittelgroßmärkte AG', 'Martin Bein'),\n",
+ " ('Nord-Ost-Fisch Handelsgesellschaft mbH', 'Sven Petersen'),\n",
+ " ('Formaggi Fortini s.r.l.', 'Elio Rossi'),\n",
+ " ('Norske Meierier', 'Beate Vileid'),\n",
+ " ('Bigfoot Breweries', 'Cheryl Saylor'),\n",
+ " ('Svensk Sjöföda AB', 'Michael Björn'),\n",
+ " ('Aux joyeux ecclésiastiques', 'Guylène Nodier'),\n",
+ " ('New England Seafood Cannery', 'Robb Merchant'),\n",
+ " ('Leka Trading', 'Chandra Leka'),\n",
+ " ('Lyngbysild', 'Niels Petersen'),\n",
+ " ('Zaanse Snoepfabriek', 'Dirk Luchte'),\n",
+ " ('Karkki Oy', 'Anne Heikkonen'),\n",
+ " (\"G'day, Mate\", 'Wendy Mackenzie'),\n",
+ " ('Ma Maison', 'Jean-Guy Lauzon'),\n",
+ " ('Pasta Buttini s.r.l.', 'Giovanni Giudici'),\n",
+ " ('Escargots Nouveaux', 'Marie Delamare'),\n",
+ " ('Gai pâturage', 'Eliane Noz'),\n",
+ " (\"Forêts d'érables\", 'Chantal Goulet')]"
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "%%sql\n",
+ "SELECT\n",
+ " CompanyName,ContactName\n",
+ "FROM\n",
+ " Suppliers;\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "SQL_packages",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.12.12"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}