TGViewer
Channel Public Channel
SQL Pro

SQL Pro

@sqlprofi

SQL Pro - всё об SQL
Реклама: @anothertechrock

Контент канала:
1. Разбор вопросов с собеседований
2. Трюки SQL
3. Видео
4. Тесты
5. Задачи на логику
6. Юмор
Subscribers
4.91K
Photos
99
Videos
0
Links
77

Showing posts older than #971 · Back to latest

Older Posts 20 shown
Post #970 1.4K
Что выведет этот код? 👉

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;


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

находятся в шапке канала
Post #967 1.32K
Друзья, мы тут сделали тестовую базу данных и добавили данные в неё. Следующие задачки и тесты будут на основе этой БД.

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

P.S для компиляции кода можно использовать например https://onecompiler.com/mysql/
  • 👍 5
  • 🔥 2
Post #966 1.33K
Со следующей недели начинаем публиковать больше задачек и туториалов. Вернулись в работу.

Пишите в комментариях какие темы или книги или вопросы вы бы хотели, чтобы мы раскрыли.
  • ❤ 6
  • 👌 3
  • 👎 1
Post #965 1.36K
Антипаттерны SQL

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

#db #sql #ru

Скачать книгу
  • 👌 7
Post #964 1.62K
  • 👍 4
Post #963 1.82K
  • 👍 3
Post #961 1.52K
SQL Pro 👉 Задача: 👉Напишите SQL-запрос, который берет строку 'Hello, SQL!', 1. Переводит её в верхний регистр 2. Заменяет запятую на восклицательный знак 3. Переворачивает строку задом наперёд.
mysql> SELECT REVERSE(UPPER(REPLACE('Hello, SQL!', ',', '!'))) AS result;
  • 👍 4
  • ❤ 3
  • 👌 1
Post #960 1.58K
👉 Задача: 👉Напишите SQL-запрос, который берет строку 'Hello, SQL!',

1. Переводит её в верхний регистр
2. Заменяет запятую на восклицательный знак
3. Переворачивает строку задом наперёд.
  • 👍 5
  • ❤ 1
  • 👏 1
Post #959 2.12K
Вопрос на SQL собеседовании.

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

Ответ:

INSERT, DELETE, SELECT, UPDATE

#sql #собеседование
  • 👍 7
  • ❤ 1
Post #957 1.57K
Вопрос на SQL собеседовании.

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

Ответ:

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

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

#sql #собеседование
  • ❤ 1
  • 👍 1
Post #955 1.69K
❔ Вопрос с собеседования

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

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

➡️ SQL Pro | #собеседование
  • 👍 11
Post #953 1.7K
💻 Оператор CASE

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

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


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

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


➡️ SQL Pro | #обучение
  • ❤ 23
  • 🥰 3
  • 🤓 3
  • 👍 1
Post #951 1.68K
💻 Логическое и физическое удаление в SQL

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

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

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

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


➡️ SQL Pro | #обучение
  • ❤ 10
  • 🤓 5
  • 🦄 4
  • 👏 2
Post #947 1.53K
❔ Задача с 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
Post #945 1.53K
❔ Вопрос с собеседования

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

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

➡️ SQL Pro | #собеседование
  • 😁 4
Post #943 1.38K
❔ Задача с 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
Post #940 1.5K
  • ❤ 1
  • 😁 1
Post #937 1.43K
Вопрос на SQL собеседовании.

Какая ошибка в этом запросе?

UPDATE books SET sales_1999 >
(SELECT SUM(qty * price)
FROM sales
WHERE sales.book_id = books.id
AND sales.date BETWEEN '01/01/1999' AND '12/31/1999')
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →