Решение по базовый SQL

This commit is contained in:
elena belykh
2026-01-04 12:22:40 +03:00
parent a99a7368ae
commit f94e27893d
3 changed files with 98 additions and 0 deletions
@@ -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;
@@ -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;
@@ -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;