SELECT department, product, SUM(sales) AS total_sales
FROM sales_data
GROUP BY ROLLUP(department, product);
Этот запрос вернет общие продажи по каждому продукту в каждом отделе, а также общие продажи по отделам и общую сумму продаж.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10👀2✍1
SELECT
product_name,
CASE
WHEN price < 100 THEN 'Дешево'
WHEN price BETWEEN 100 AND 500 THEN 'Средне'
ELSE 'Дорого'
END AS price_category
FROM products;
Этот запрос классифицирует товары по ценовым категориям.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥1
SELECT
department,
product,
SUM(sales) AS total_sales
FROM sales_data
GROUP BY CUBE(department, product);
Этот запрос вычисляет общие продажи для каждой комбинации отдела и продукта, включая общие суммы по каждому из них и общую сумму по всем данным.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🤔4✍1👀1
Индексы значительно улучшают производительность запросов в базах данных, ускоряя операции поиска. Они работают как указатели, позволяя быстро находить нужные строки без необходимости сканировать всю таблицу.
⏩ Например, в таблице с миллионами записей поиск по неиндексированному столбцу может занять много времени, так как требуется последовательный просмотр каждой записи. Однако, если на столбец установлен индекс, поиск будет происходить значительно быстрее, так как индекс позволяет напрямую перейти к нужным данным.
⏩ Индексы особенно полезны для операций
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ SQL собеседования
SELECT, JOIN и WHERE, но могут замедлять INSERT, UPDATE и DELETE, так как требуют обновления индексов.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
Нормализация — это процесс организации данных в базе данных для минимизации избыточности и обеспечения целостности данных.
✅ Основные преимущества нормализации включают в себя:
1️⃣ Уменьшение избыточности данных, что снижает объем хранимой информации и упрощает управление данными.
2️⃣ Обеспечение целостности данных, так как изменения в одном месте автоматически отражаются в других связанных местах.
3️⃣ Улучшение производительности запросов за счет уменьшения количества дублирующихся данных.
❌ Однако нормализация имеет и недостатки:
1️⃣ Усложнение структуры базы данных, что может затруднить понимание и поддержку.
2️⃣ Увеличение количества таблиц и, как следствие, сложности запросов, что может замедлить выполнение сложных операций.
3️⃣ Потребность в дополнительных соединениях (JOIN) при выполнении запросов, что может негативно сказаться на производительности в некоторых случаях.
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ SQL собеседования
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1🔥1
SELECT t1.col1, t2.col2
FROM Table1 t1
LEFT JOIN Table2 t2 ON t1.key = t2.key OR t1.key IS NULL;
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7💯2
DATEADD(day, 5, '2025-01-01') добавляет 5 дней.DATEDIFF(day, '2024-10-01', '2024-10-10') возвращает 9.FORMAT('2025-01-24', 'dd/MM/yyyy') возвращает '24/01/2025'.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥2
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7⚡1
SQL cобеседования pinned «ℹ️ Подписывайся на наши новые каналы! 🖥 JS собеседования 🖥 Backend собеседования»
EXISTS используется для проверки наличия строк, возвращаемых подзапросом. Он возвращает TRUE, если подзапрос возвращает хотя бы одну строку, и FALSE, если нет. Запрос ниже выбирает всех сотрудников, у которых есть связанные заказы. SELECT employee_id, employee_name
FROM employees e
WHERE EXISTS (
SELECT 1
FROM orders o
WHERE o.employee_id = e.employee_id
);
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8💯1
Определение необходимых индексов для таблицы — важный шаг в оптимизации производительности базы данных.
😎 Анализ запросов: Изучение часто выполняемых запросов, особенно тех, которые содержат
😎 Идентификация колонок: Определение колонок, которые часто используются в фильтрах и соединениях.
😎 Использование EXPLAIN: Применение команды
😎 Учет уникальности: Создание уникальных индексов для колонок с уникальными значениями может улучшить производительность.
😎 Балансировка: Избегание избыточных индексов, которые могут замедлить операции вставки и обновления.
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ SQL собеседования
WHERE, JOIN, ORDER BY и GROUP BY.EXPLAIN для анализа плана выполнения запросов и выявления узких мест.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
SELECT employee_id, department_id, salary,
RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank
FROM employees;
PARTITION BY разделяет данные по department_id, и функция RANK() вычисляет ранг зарплаты в пределах каждого отдела.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
GROUP BY. Он позволяет агрегировать данные по указанным столбцам, что полезно для получения сводной информации.
SELECT department, role, COUNT(*)
FROM employees
GROUP BY department, role;
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2
tsvector и tsquery:-- Создание полнотекстового индекса
CREATE INDEX idx_fts ON articles USING gin(to_tsvector('english', content));
-- Поиск по ключевым словам
SELECT * FROM articles WHERE to_tsvector('english', content) @@ to_tsquery('search & term');
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9💯2
-- Первый запрос выбирает имена из таблицы employees
SELECT name FROM employees
UNION
-- Второй запрос выбирает имена из таблицы customers
SELECT name FROM customers;
SELECT name FROM employees
UNION ALL
SELECT name FROM customers;
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
ON или USING, предоставляя больше контроля над тем, какие столбцы использовать для объединения таблиц. Пример использования INNER JOIN:
SELECT * FROM table1
INNER JOIN table2 ON table1.id = table2.foreign_id;
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7✍1🤔1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1