SQL Pro
5.28K subscribers
145 photos
10 files
124 links
SQL Pro - всё об SQL
Реклама: @anothertechrock

Контент канала:
1. Разбор вопросов с собеседований
2. Трюки SQL
3. Видео
4. Тесты
5. Задачи на логику
6. Юмор
加入频道
Под какой буквой правильный ответ?
Anonymous Quiz
5%
A
32%
B
28%
C
34%
D
Задача с LeetCode «Find Customer Referee №584»

Найдите имена клиентов, на которые не ссылается клиент с идентификатором = 2.

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

Формат результатов приведен в следующем примере.

Входные данные:

+----+------+------------+
| id | name | referee_id |
+----+------+------------+
| 1 | Will | null |
| 2 | Jane | null |
| 3 | Alex | 2 |
| 4 | Bill | null |
| 5 | Zack | 1 |
| 6 | Mark | 2 |
+----+------+------------+


Вывод:
+------+
| name |
+------+
| Will |
| Jane |
| Bill |
| Zack |
+------+


➡️ SQL Pro | #задача #easy
🔥5🎉2
Создание микросервиса

Присоединяйтесь к нашему открытому уроку и погрузитесь в основы разработки микросервисов

🚀На вебинаре вы узнаете:

1. Основные принципы проектирования микросервисов: разделение на небольшие независимые компоненты, которые взаимодействуют через API.

2. Способы интеграции микросервисов с помощью REST API, gRPC или очередей сообщений (RabbitMQ, Apache Kafka).

3. Подходы к тестированию, отладке и мониторингу микросервисов для обеспечения их корректной работы в продакшене.

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

👉 Регистрация и подробности о курсе «Архитектура и шаблоны проектирования»

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Вопрос с собеседования

Как оператор GROUP BY обрабатывает поля с NULL?

Ответ: Учитывая, что NULL в SQL — просто отсутствие значения, то все значения NULL при группировке попадают в одну группу.

➡️ SQL Pro | #собеседование
😁4
Задача с LeetCode «Recyclable and Low Fat Products №1757»

Напишите решение для поиска идентификаторов продуктов с низким содержанием жира, пригодных для вторичной переработки.

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

Формат результатов приведен в следующем примере.

Входные данные:

+------------+----------+------------+
| product_id | low_fats | recyclable |
+------------+----------+------------+
| 0 | Y | N |
| 1 | Y | Y |
| 2 | N | Y |
| 3 | Y | Y |
| 4 | N | N |
+------------+----------+------------+


Вывод:
+------------+
| product_id |
+------------+
| 1 |
| 3 |
+------------+


Пояснение: Только продукты 1 и 3 содержат мало жира и пригодны для вторичной переработки.

➡️ SQL Pro | #задача #easy
🔥3🥱2
⚡️Как проектировать базы данных так, чтобы впоследствии не приходилось тушить пожары в результате не оптимально заложенных основ?

👉 Приглашаем на курс "PostgreSQL для профессионалов", который обеспечит глубокое погружение в PostgreSQL!

На курсе вы:
- Научитесь настраивать кластер PostgreSQL на оптимальную производительность
- Организуете систему резервного копирования
- Научитесь выяснять причины сбоев, блокировок и deadlock и оперативно решать эти проблемы
- Сможете использовать индексы, джойны и статистику для оптимизации производительности
- Освоите синтаксис и особенности работы в PostgreSQL
- Изучите пути решения проблем работы с большими объемами данных в PostgreSQL

Записывайтесь на курс уже сейчас и получите скидку!

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
💻 Логическое и физическое удаление в SQL

В SQL данные можно удалять двумя способами: логически или физически.

▶️ Логическое удаление — сохраняет записи в таблице, помечая их как "удалённые" через столбец, например, is_deleted. Это позволяет скрывать данные без их полного удаления и полезно для аудита или восстановления. Однако оно занимает больше места и требует дополнительных фильтров в запросах.

▶️ Физическое удаление — удаляет строки из таблицы с помощью команды DELETE. Если транзакция не зафиксирована (нет COMMIT), данные можно восстановить с помощью ROLLBACK. Но после фиксации транзакции восстановление возможно только через резервные копии или журналы.

❤️ — если было полезно
🤓 — если уже знал


➡️ SQL Pro | #обучение
10🤓5🦄4👏2
💻 Оператор CASE

Оператор CASE в SQL аналогичен конструкции IF...ELSE в других языках программирования. Он позволяет выполнять условия с возвратом значений в зависимости от результата.

Синтаксис следующий:
CASE 
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END


CASE удобно использовать вместе с ORDER BY, чтобы настраивать сортировку данных по заданным условиям, а не только по алфавиту или числам.

❤️ — если было полезно
🤓 — если база


➡️ SQL Pro | #обучение
23🥰3🤓2👍1
⚡️Как интегрировать PostgreSQL с Power BI для анализа данных? Присоединяйтесь к нашему вебинару 23.01 в 20:00 и узнайте, как использовать эти инструменты для принятия обоснованных бизнес-решений!

На бесплатном вебинаре обсудим с вами:
- Как интегрировать данные из PostgreSQL в Power BI.
- Методы визуализации данных и создания интерактивных дашбордов.
- Практические кейсы использования Power BI в бизнесе и других инструментов BI.
- Советы по оптимизации производительности и безопасности данных при работе с PostgreSQL в BI-системах.

Этот вебинар будет полезен всем, кто хочет эффективно использовать BI-инструменты для анализа данных и принятия стратегических решений.

👉Регистрация. Участие бесплатно

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
2
Вопрос с собеседования

Что такое обобщённое табличное выражение (CTE) и как оно используется?

Ответ: Обобщённое табличное выражение (CTE) — это временное результатное выражение, которое можно использовать несколько раз в рамках одного запроса для упрощения его структуры. CTE создаётся с использованием ключевого слова WITH и может значительно улучшить читабельность запросов, позволяя обращаться к нему как к таблице. Кроме того, CTE могут быть рекурсивными, что упрощает работу с иерархическими данными.

➡️ SQL Pro | #собеседование
👍10
Вопрос на SQL собеседовании.

Что такое оконная функция? И в чем отличие от функции агрегации с группировкой?

Ответ:

Оконная функция в SQL - функция, которая работает с выделенным набором строк (окном, партицией) и выполняет вычисление для этого набора строк в отдельном столбце.

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

#sql #собеседование
1👍1
Вопрос на SQL собеседовании.

Какие из операторов SQL могут быть использованы для выполнения CRUD (Create, Read, Update, Delete) операций над данными?

Ответ:

INSERT, DELETE, SELECT, UPDATE

#sql #собеседование
👍71
👉 Задача: 👉Напишите SQL-запрос, который берет строку 'Hello, SQL!',

1. Переводит её в верхний регистр
2. Заменяет запятую на восклицательный знак
3. Переворачивает строку задом наперёд.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51👏1
🔔 PostgreSQL уже не справляется? Пора на новый уровень!

В мире больших данных время — главный ресурс. Если вам нужны мощные аналитические запросы, горизонтальное масштабирование и высокая производительность, пора знакомиться с Arenadata DB (Greenplum).

📅 На открытом вебинаре 4 марта в 18:30 МСК разберем:

- Отличия MPP ArenadataDB от PostgreSQL
- Как запускать и останавливать кластер
- Как писать аналитические запросы, чтобы получать максимум

👨‍🏫 Спикер: Алексей Железной — Senior Data Engineer с большим опытом и широким технологическим стеком.

🔗 Регистрируйтесь и получите скидку на большое обучение «Greenplum для разработчиков и архитекторов баз данных»

Не упустите возможность поднять свои навыки на новый уровень! 💪

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🔥1🎉1
В таблице есть колонка EX_COL. Записи таблицы для этой колонки содержат значения { 100, 200, 300, NULL }. Каким будет результат функции AVG(EX_COL)?
Anonymous Quiz
2%
0
19%
150
44%
200
30%
Возникнет ошибка: агрегатные функции не могут использоваться для записей со значениями NULL
5%
Узнать ответ
👍3
Антипаттерны SQL

Автор: Билл Карвин
Год издания: 2024

#db #sql #ru

Скачать книгу
👌7
Со следующей недели начинаем публиковать больше задачек и туториалов. Вернулись в работу.

Пишите в комментариях какие темы или книги или вопросы вы бы хотели, чтобы мы раскрыли.
6👌3👎1
Друзья, мы тут сделали тестовую базу данных и добавили данные в неё. Следующие задачки и тесты будут на основе этой БД.

Код генерации базы данных и INSERT данных по ссылке ТУТ.

P.S для компиляции кода можно использовать например https://onecompiler.com/mysql/
👍5🔥1
Что выведет этот код? 👉

SELECT category_name, AVG(price) 
FROM category c JOIN product p ON c.category_id = p.category_id
GROUP BY category_name HAVING AVG(price) > 200;


Схема БД и код для генерации данных

находятся в шапке канала
Please open Telegram to view this post
VIEW IN TELEGRAM