diff --git a/ebelykh/postgresql/базовый SQL/Select.sql b/ebelykh/postgresql/базовый SQL/Select.sql new file mode 100644 index 0000000..2ccfb16 --- /dev/null +++ b/ebelykh/postgresql/базовый SQL/Select.sql @@ -0,0 +1,43 @@ +--Задача 1757 +SELECT product_id +FROM Products +WHERE low_fats = 'Y' AND recyclable = 'Y'; + +--Задача 584 +SELECT name +FROM Customer +WHERE referee_id!= 2 OR referee_id IS NULL; + +--Задача 595 +SELECT name, population, area +FROM World +WHERE area >= 3000000 + OR population >= 25000000; + +--Задача 1148 +SELECT DISTINCT author_id AS id +FROM Views +WHERE author_id = viewer_id +ORDER BY id; + +--Задача 1683 +SELECT tweet_id +FROM Tweets +WHERE CHAR_LENGTH(content) > 15; + +--Задача 620 +SELECT id, movie, description, rating +FROM Cinema +WHERE id % 2 = 1 + AND description != 'boring' +ORDER BY rating DESC; + +--Задача 1667 +SELECT + user_id, + CONCAT( + UPPER(SUBSTR(name, 1, 1)), + LOWER(SUBSTR(name, 2)) + ) AS name +FROM Users +ORDER BY user_id; diff --git a/ebelykh/postgresql/основы SQL/Script.sql b/ebelykh/postgresql/основы SQL/Script.sql new file mode 100644 index 0000000..f698b99 --- /dev/null +++ b/ebelykh/postgresql/основы SQL/Script.sql @@ -0,0 +1,33 @@ +--Задача 1 + CREATE TABLE products_extended ( + id INT PRIMARY KEY, + name VARCHAR(100) NOT NULL, + category VARCHAR(50), + price DECIMAL(6,2), + in_stock BOOLEAN DEFAULT true, + email_support VARCHAR +); + + +--Задача 2 Вариант с DEFAULT (in_stock не указываем) +INSERT INTO products_extended (id, name, category, price, email_support) +VALUES +(1, 'Mi Band 7', 'smartwatch', 49.00, 'miband@xiaomi.com'), +(2, 'Surface Pro', 'tablet', 1299.00, 'surface@microsoft.com'); + +--Задача 3 +ALTER TABLE products_extended +ADD COLUMN rating DECIMAL(3,2), +DROP COLUMN email_support; + +--Задача 4 +UPDATE products_extended +SET price = price * 1.1 +WHERE name = 'Mi Band 7'; + +--Задача 5(удаляет данные/таблицу) +TRUNCATE TABLE products_extended; +DROP TABLE products_extended; + + + diff --git a/ebelykh/postgresql/фильтрация/Script.sql b/ebelykh/postgresql/фильтрация/Script.sql new file mode 100644 index 0000000..59dd946 --- /dev/null +++ b/ebelykh/postgresql/фильтрация/Script.sql @@ -0,0 +1,22 @@ +SELECT + name, + category, + price, + price * 1.10 AS price_with_markup, + price * 1.20 AS price_with_vat, + COALESCE(email_support, 'нет почты') AS status +FROM products_extended +WHERE in_stock = true + AND category NOT IN ('smartwatch', 'ebook_reader') + AND price BETWEEN 300 AND 1300; + +SELECT + name, + category, + email_support, + price * 1.25 AS price_25, + price > 1000 AS premium +FROM products_extended +WHERE (price < 150 OR price > 1200) + AND email_support IS NOT NULL; +