diff --git a/lesson07/task1.sql b/lesson07/task1.sql new file mode 100644 index 0000000..efcafd7 --- /dev/null +++ b/lesson07/task1.sql @@ -0,0 +1,4 @@ +select distinct u.name +from orders as o + join + users as u on u.id = o.user_id \ No newline at end of file diff --git a/lesson07/task2.sql b/lesson07/task2.sql new file mode 100644 index 0000000..cf02dc7 --- /dev/null +++ b/lesson07/task2.sql @@ -0,0 +1,6 @@ +use newdb; + +select p.name as product_name, c.name as catalog_name +from newdb.catalogs as c + join + products as p on c.id = p.catalog_id \ No newline at end of file diff --git a/lesson07/task3.sql b/lesson07/task3.sql new file mode 100644 index 0000000..7e60f3d --- /dev/null +++ b/lesson07/task3.sql @@ -0,0 +1,38 @@ +DROP DATABASE IF EXISTS flights; +CREATE DATABASE flights; +USE flights; + +DROP TABLE IF EXISTS flights; +CREATE TABLE flights ( + id SERIAL PRIMARY KEY, + `from` VARCHAR(255), + `to` VARCHAR(255) +); + +INSERT INTO flights (`from`,`to`) VALUES + ('moscow', 'omsk'), + ('novgorod', 'kazan'), + ('irkutsk', 'moscow'), + ('omsk', 'irkutsk'), + ('moscow', 'kazan'); + +DROP TABLE IF EXISTS cities; +CREATE TABLE cities ( + label VARCHAR(255), + name VARCHAR(255) +); + +INSERT INTO cities (label, name) VALUES + ('moscow', 'Ìîñêâà'), + ('irkutsk', 'Èðêóòñê'), + ('novgorod', 'Íîâãîðîä'), + ('kazan', 'Êàçàíü'), + ('omsk', 'Îìñê'); + + select f.id, c1.name as `from`, c2.name as `to` + from flights as f + join + cities as c1 on f.`from` = c1.label + join + cities as c2 on f.`to` = c2.label + order by f.id