Загрузка данных


Вот SQL-запросы для всех 10 заданий на основе структуры таблиц из вашего практического задания.
Перед написанием самих запросов, на всякий случай, добавлю код для создания базы данных и таблиц, чтобы вам было проще все развернуть. Если база уже создана, можете сразу переходить к разделу **«Решение заданий»**.
## Подготовка: Создание БД и таблиц
```sql
-- Создание базы данных
CREATE DATABASE online_store;
USE online_store;

-- Создание таблицы товаров
CREATE TABLE products (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    price DECIMAL(10, 2) NOT NULL,
    category VARCHAR(100),
    stock INT DEFAULT 0
);

-- Создание таблицы клиентов
CREATE TABLE customers (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    email VARCHAR(255),
    city VARCHAR(100)
);

-- Создание таблицы заказов
CREATE TABLE orders (
    id INT AUTO_INCREMENT PRIMARY KEY,
    customer_id INT,
    product_id INT,
    quantity INT,
    order_date DATE,
    FOREIGN KEY (customer_id) REFERENCES customers(id),
    FOREIGN KEY (product_id) REFERENCES products(id)
);

```
## Решение заданий (SQL-запросы)
### 1. Вывести все товары дороже 1000 рублей.
```sql
SELECT * FROM products 
WHERE price > 1000;

```
### 2. Вывести товары из категории "Электроника" в наличии (stock > 0).
```sql
SELECT * FROM products 
WHERE category = 'Электроника' AND stock > 0;

```
### 3. Вывести заказы, сделанные после 1 января 2023 года.
```sql
SELECT * FROM orders 
WHERE order_date > '2023-01-01';

```
### 4. Вывести клиентов из Москвы или Санкт-Петербурга.
```sql
SELECT * FROM customers 
WHERE city IN ('Москва', 'Санкт-Петербург');

```
### 5. Вывести топ-5 самых дорогих товаров.
```sql
SELECT * FROM products 
ORDER BY price DESC 
LIMIT 5;

```
### 6. Вывести все заказы, отсортированные по дате (новые сначала).
```sql
SELECT * FROM orders 
ORDER BY order_date DESC;

```
### 7. Вывести товары, в названии которых есть слово "Смартфон".
```sql
SELECT * FROM products 
WHERE name LIKE '%Смартфон%';

```
### 8. Вывести клиентов, у которых email заканчивается на @gmail.com.
```sql
SELECT * FROM customers 
WHERE email LIKE '%@gmail.com';

```
### 9. Вывести товары с ценой от 500 до 2000 рублей, отсортированные по категории.
```sql
SELECT * FROM products 
WHERE price BETWEEN 500 AND 2000 
ORDER BY category;

```
### 10. Вывести количество товаров в каждой категории (используйте GROUP BY).
```sql
SELECT category, COUNT(*) AS product_count 
FROM products 
GROUP BY category;

```