SQL и Анализ данных
12.4K subscribers
752 photos
91 videos
4 files
765 links
Базы данных и всё, что с ними связано!

Сотрудничество: @haarrp

РКН № 6766085482
Download Telegram
❔ Задача с LeetCode «Fix Names in a Table №1667»

Напишите решение для исправления имен таким образом, чтобы только первый символ был прописным, а остальные - строчными.

Верните таблицу результатов, упорядоченную по user_id.

Входные данные:
+---------+-------+
| user_id | name |
+---------+-------+
| 1 | aLice |
| 2 | bOB |
+---------+-------+


Вывод:
+---------+-------+
| user_id | name |
+---------+-------+
| 1 | Alice |
| 2 | Bob |
+---------+-------+


➡️ SQL Community | #задача #easy
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍12❤3🔥1
💻 Набор советов по улучшению SQL запросов

Делимся GitHub-репозиторием, в котором собраны советы по улучшению SQL-запросов: методы повышения читаемости кода и предотвращения распространённых ошибок, рекомендации по оптимизации.

📱 Смотреть на GitHub

➡️ SQL Community | #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍5❤1🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁61🔥8❤3
Под какой буквой правильный ответ?
Anonymous Quiz
26%
A
24%
B
16%
C
34%
D
🔥7👍5
📱 Шпаргалка по PostgreSQL

В данной статье автор собрал вопросы, которые ему часто задавали на собеседовании на позицию Python-разработчика.

Большая часть из них относится к СУБД PostgreSQL, поэтому каждый сможет найти для себя что-то полезное.

⛓ Читать статью

➡️ SQL Community | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍7❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁37😍8👍3😢2
❔ Вопрос с собеседования

Чем отличаются шардирование и партиционирование?

Ответ:
▶️ Партиционирование — разделение данных в рамках одной базы или таблицы на логические сегменты (разделы), например, по дате или ID. Используется для оптимизации запросов и упрощения управления большими таблицами.

▶️ Шардирование — горизонтальное разделение данных между несколькими серверами. Каждая «шарда» содержит часть данных, что позволяет распределить нагрузку и увеличить производительность.

Пример: партиционирование — деление таблицы заказов по годам, шардирование — распределение этих данных между разными серверами.


➡️ SQL Community | #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥9❤4👏2🤔2👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁53❤20👍4🔥2
Под какой буквой правильный ответ?
Anonymous Quiz
13%
A
7%
B
75%
C
4%
D
👍13❤1
💻 Горизонтальное масштабирование базы данных

В статье подробно разбираются ключевые техники горизонтального масштабирования баз данных: репликация, партицирование и шардирование.

Автор объясняет, как каждый из этих методов работает и в каких сценариях его применение даст наилучший результат.

⛓ Читать статью

➡️ SQL Community | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤2🔥1
Чтобы вечер пятницы был веселее 😂

➡️ SQL Community | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁28🔥7🤨3
❔ Задача с LeetCode «Rising Temperature №197»

Напишите решение, чтобы найти id всех дат с более высокими температурами по сравнению с предыдущими датами (вчерашними).

Верните таблицу результатов в любом порядке.

Входные данные:
+----+------------+-------------+
| id | recordDate | temperature |
+----+------------+-------------+
| 1 | 2015-01-01 | 10 |
| 2 | 2015-01-02 | 25 |
| 3 | 2015-01-03 | 20 |
| 4 | 2015-01-04 | 30 |
+----+------------+-------------+


Вывод:
+----+
| id |
+----+
| 2 |
| 4 |
+----+


Пояснение:
В 2015-01-02 году температура была выше, чем в предыдущий день (10 —> 25 градусов).
В 2015-01-04 году температура была выше, чем в предыдущий день (20 —> 30 градусов).

➡️ SQL Community | #задача #easy
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥14👍6❤4
💻 Почему не стоит использовать SELECT *?

На первый взгляд, SELECT * — это удобный способ написать запрос, но он скрывает подводные камни, которые могут серьёзно сказаться на работе приложения.

Когда вы пишете SELECT *, база возвращает все столбцы из таблицы, включая те, которые не нужны, что создаёт лишнюю нагрузку на сервер.

Ещё хуже, если в таблицу добавить новые столбцы, запрос может вернуть неожиданный результат, вызывая ошибки в приложении.

Представим таблицу:
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100),
password_hash VARCHAR(255)
);


Плохой подход:
SELECT * FROM users;

Этот код вернёт даже password_hash, хотя он не нужен.


Хороший подход:

SELECT name, email FROM users;

Вы извлечёте только то, что нужно для работы.


Подытожим: SELECT * снижает производительность, усложняет поддержку кода и делает запросы менее предсказуемыми. Всегда указывайте нужные столбцы явно.

❤️ — если было полезно
🤓 — если хочешь темы посложнее

➡️ SQL Community | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤40🤓39👍7💊1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁45🥰7❤4👏3👍2🔥1
Под какой буквой правильный ответ?
Anonymous Quiz
33%
A
24%
B
22%
C
21%
D
👍9❤3🔥2
💻 Настройка автовакуумирования в PostgreSQL

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

Автор объясняет, как правильно конфигурировать ключевые параметры (autovacuum_max_workers, autovacuum_naptime и пр.), чтобы поддерживать производительность базы данных на высоком уровне.

⛓ Читать статью

➡️ SQL Community | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤4
Please open Telegram to view this post
VIEW IN TELEGRAM
😁63🔥11😱1
❔ Вопрос с собеседования

Назовите четыре основных типа соединения в SQL.

Ответ: Чтобы объединить две таблицы в одну, следует использовать оператор JOIN. Соединение таблиц может быть внутренним (INNER) или внешним (OUTER), причём внешнее соединение может быть левым (LEFT), правым (RIGHT) или полным (FULL).

Подробнее об INNER JOIN, FULL OUTER JOIN, LEFT JOIN, RIGHT JOIN рассказали в серии постов:
▶️Часть №1
▶️Часть №2
▶️Часть №3

➡️ SQL Community | #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤5🔥3