SQL Ready | Базы Данных
11.2K subscribers
674 photos
28 videos
2 files
333 links
Авторский канал про Базы Данных и SQL
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/sql_ready
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
Netology — Платформа, на которой вы можете найти огромное множество курсов по программированию и не только

Ссылочка: netology.ru

➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3
🖥 Оконные функции в SQL: секреты эффективного использования

Сегодня рассмотрим, как оконные функции могут значительно упростить сложные аналитические запросы. Эти функции делают обработку данных мощной и производительной, избегая громоздких подзапросов и группировок.

Простой пример с ROW_NUMBER()
Функция ROW_NUMBER позволяет нумеровать строки в пределах определённой группы. Это полезно для сортировки данных:
SELECT employee_id, department_id, salary,
ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank
FROM employees;


Использование SUM() OVER для накопительных сумм
Функция SUM с оконной спецификацией помогает вычислять накопительные суммы, не группируя данные:
SELECT order_id, order_date, amount,
SUM(amount) OVER (ORDER BY order_date) AS cumulative_total
FROM orders;


Сравнение с предыдущим значением с LAG()
Функция LAG позволяет взять значение из предыдущей строки. Это удобно для анализа изменений в данных:
SELECT employee_id, salary,
LAG(salary, 1) OVER (ORDER BY hire_date) AS previous_salary
FROM employees;


🔥 Не забывайте о мощных инструментах SQL, таких как оконные функции! Они позволяют решать сложные задачи проще, сохраняя читаемость и производительность запросов.

SQL Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍11🔥2👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Knight Lab — Интересная платформа для изучения SQL, в ней присутствует множество полезной информации о том, как создавать запросы

Ссылочка: mystery.knightlab.com

➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥5🤝1
🖥 Рассмотрим методы обработки строк)

Заметил, что новички часто путаются при работе со строками в SQL, поэтому спешу на помощь! Сделал для вас небольшую шпаргалку по обработке строк.

➡️ SQL Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍9🤝7
📖 SQL Server Наладка и оптимизация для профессионалов

Книга охватывает новейшие функции SQL Server, что делает её актуальной для профессионалов, стремящихся оставаться на переднем крае технологий

Автор: Дмитрий Короткевич
Год: 2023


⬇️ Cкачать книгу

➡️ SQL Ready | #книга
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥4
🖥 Изучаем полезные методы работы с выборкой данных

• COALESCE — Возвращает первое ненулевое значение из списка переданных аргументов. Полезно для обработки NULL значений.

• ROW_NUMBER — Присваивает уникальный номер каждой строке в наборе данных на основе заданной сортировки. Часто используется для создания порядковых номеров или пагинации.

🔥 — если узнал новое
🤝 — если уже пользовался

SQL Ready | #метод
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥5🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
Live SQL — Интересная платформа для изучения SQL, в ней присутствует поиск по обучающим статьям, вы можете с легкостью обучиться именно тому, что вам сейчас нужно

Ссылочка: livesql.oracle

➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
🖥 Управляем дубликатами и уникальностью данных

Работа с уникальными данными — ключевая задача в SQL. Рассмотрим приемы поиска, удаления и предотвращения дубликатов:

1. Поиск дубликатов
Используйте группировку и фильтрацию, чтобы найти повторяющиеся записи:
SELECT email, COUNT(*) AS occurrences
FROM users
GROUP BY email
HAVING COUNT(*) > 1;


2. Удаление дубликатов
Удалите повторяющиеся строки, сохранив только одну:
DELETE FROM users
WHERE id NOT IN (
SELECT MIN(id)
FROM users
GROUP BY email
);


3. Предотвращение дубликатов
Обеспечьте уникальность данных с помощью уникальных индексов:
CREATE UNIQUE INDEX unique_email ON users(email);

Этот индекс автоматически предотвращает добавление дублирующихся email

➡️ SQL Ready | #техсобес
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3
🖥 Создаем базу данных для учета задач

Рассмотрим создание простой базы данных для учёта задач, где использовали две таблицы: одну для хранения задач, а другую для статусов задач

- Создание таблиц
- Извлечение данных
- Выполнение запросов
- Редактирование


🔥 — если узнал новое
🤝 — если уже пользовался

SQL Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥9🤝3
Рекурсивные запросы с CTE в SQL

Hазберем мощный инструмент — рекурсивные запросы с использованием CTE. Эта техника позволяет работать с иерархическими данными или решать задачи, требующие итераций:

Рекурсивный CTE — это временная таблица, которая ссылается на саму себя, чтобы обрабатывать данные поэтапно.

Предположим, у нас есть таблица employees с колонками: id, name, manager_id.
Сначала выбираем данные о целевом менеджере:
WITH RECURSIVE EmployeeHierarchy AS (
SELECT id, name, manager_id
FROM employees
WHERE name = 'Alice'


Теперь связываем подчиненных менеджера с данными базового уровня:
    UNION ALL
SELECT e.id, e.name, e.manager_id
FROM employees e
INNER JOIN EmployeeHierarchy eh
ON e.manager_id = eh.id
)


Наконец, извлекаем всю построенную иерархию:
SELECT * FROM EmployeeHierarchy;


Результат:
Если у Alice есть прямые и косвенные подчиненные, запрос вернет их всех.

🔥 Рекурсивные CTE позволяют элегантно работать с иерархиями и выполнять сложные итеративные операции. Осваивая их, вы сможете эффективно решать задачи, которые раньше казались сложными или даже невозможными в SQL.

➡️ SQL Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4🤝4