TGViewer
Channel Public Channel
SQL Portal | Базы Данных

SQL Portal | Базы Данных

@sqlportal

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

Связь: @devmangx

РКН: https://clck.ru/3H4Wo3
Subscribers
13.7K
Photos
1.1K
Videos
142
Links
806

Showing posts older than #2103 · Back to latest

Older Posts 20 shown
Post #2102 1.09K
Тренажёр SQL для бэкенд-разработчиков

Полезный ресурс, чтобы освоить SQL или освежить базу перед собеседованием. Формат простой: короткое объяснение, затем практические задания с запросами прямо в браузере.

https://sqlbolt.com/

👉 @SQLPortal
  • ❤ 2
Post #2100 1.09K
Вопрос по SQL

Что вернёт этот запрос?

👉 @SQLPortal
  • ❤ 1
Post #2099 1.14K
Правильный ответ: Запрос может сработать некорректно, если departments.department_id содержит NULL…

При использовании NOT IN значение NULL в подзапросе может привести к результату сравнения UNKNOWN, из-за чего запрос может не вернуть ни одной строки.

Более надёжный подход:
SELECT e.name
FROM employees e
WHERE NOT EXISTS (
SELECT 1
FROM departments d
WHERE d.department_id = e.department_id
AND d.status = 'inactive'
);


NOT IN
+ NULL = классическая ловушка SQL. Обычно NOT EXISTS — более безопасный выбор.

👉 @SQLPortal
  • 👍 3
Post #2098 1.08K
Вопрос с собеседования по отладке SQL

Этот запрос должен возвращать сотрудников, которые не состоят в неактивном отделе.

Что с ним не так? Будет ли он работать? Если нет, как его исправить?

👉 @SQLPortal
  • 👍 1
Post #2097 1.14K
База данных может обрабатывать миллионы строк...

Но всего один плохой SQL-запрос способен серьёзно просадить её производительность.

Большинство проблем с SQL performance связаны с:
• SELECT *
• Отсутствующими indexes
• Неоптимальными JOIN
• Full Table Scan
• Игнорированием EXPLAIN

Вот SQL Optimization Cheat Sheet, который поможет писать более быстрые и эффективные запросы. Сохраните — пригодится во время следующего performance tuning.

👉 @SQLPortal
  • ❤ 1
Post #2096 1.03K
А сможете ответить на вопрос по данным без SQL-запроса? 🤔

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

DataLens Platform объединяет загрузку, lakehouse-хранилище, обработку, SQL-запросы и визуализацию. Интерактивные запросы выполняются с помощью Trino, ресурсоемкие преобразования — с помощью Spark.

К подготовленным данным можно обращаться через SQL, отчёты и ИИ-помощника. Каталог метаданных позволяет увидеть происхождение показателей, а общая модель доступа ограничивает работу пользователя его правами.

Хранение и вычислительные мощности масштабируются независимо.

👉 Подробнее о DataLens Platform — в материале СМИ.
  • ❤ 2
Post #2095 929
Интервьюер:

Зачем в SQL нужен EXISTS, если уже есть IN? Разве они не делают одно и то же?

👉 @SQLPortal
  • 🤔 3
  • ❤ 2
Post #2094 1.02K
Вы создали composite index:
(first_name, last_name, city)


А затем выполнили запрос:
SELECT *
FROM users
WHERE last_name = 'Smith';


Результат? База данных проигнорировала index и выполнила Sequential Scan.

Почему? Разве index не должен использоваться, ведь last_name входит в него?

А что изменится для следующих условий?
WHERE first_name = ?

WHERE first_name = ? AND last_name = ?

WHERE first_name = ? AND city = ?


Понимание порядка столбцов в composite indexes — одна из важнейших тем SQL performance optimization, которую стоит знать каждому backend-разработчику.

👉 @SQLPortal
  • 👍 1
Post #2093 897
UPDATE — оператор обновления данных в MySQL 🗂️

Если в таблице нужно изменить значение в уже существующей строке, используют команду UPDATE. Она позволяет обновлять записи точечно, но важно правильно задать условие: без него изменения могут затронуть всю таблицу.
UPDATE products
SET price = 50500
WHERE id = 1;

Этот запрос меняет значение price только у записи с id = 1.

С помощью UPDATE можно изменить сразу несколько полей:
UPDATE products
SET price = 78500, quantity = 3
WHERE id = 2;

Этот запрос обновляет параметры price и quantity у записи с id = 2.

💡 UPDATE используют, когда нужно:

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

🔗 SQL — это база для работы с базами.
Если хотите не просто понять одну команду, а уверенно собирать запросы и менять данные без ошибок, регистрируйтесь на бесплатный мини-курс «MySQL для новичков» от Академии Selectel ➡️

Программа состоит из коротких уроков, которые помогут пройти путь от установки и настройки СУБД до создания таблиц, управления пользователями и основных операций с данными.

Реклама. АО "Селектел". erid:2W5zFHrsApy
  • ❤ 2
Post #2092 1.05K
Шпаргалка по изучению SQL

👉 @SQLPortal
  • ❤ 2
Post #2090 1.12K
SQL-вопрос:

Как безопасно удалить записи?

👉 @SQLPortal
  • ❤ 1
Post #2089 1.11K
Продвинутый планировщик задач, который живёт в экосистеме PostgreSQL

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

👉 @SQLPortal
  • 👍 2
Post #2087 1.05K
Уровни владения SQL

А на каком уровне вы?

👉 @SQLPortal
  • ❤ 6
  • 👍 3
Post #2085 1.11K
SQL-вопрос:

Что вернёт этот запрос?

👉 @SQLPortal
Post #2084 1.13K
Самый чистый способ получить последнюю запись для каждого пользователя

Можно фильтровать результаты window functions, таких как ROW_NUMBER() или RANK(), напрямую — без дополнительного subquery или CTE.

Вместо:
WITH ranked AS (
SELECT *,
ROW_NUMBER() OVER (
PARTITION BY user_id
ORDER BY timestamp DESC
) AS rn
FROM events
)
SELECT *
FROM ranked
WHERE rn = 1;


Можно написать:
SELECT *
FROM events
QUALIFY ROW_NUMBER() OVER (
PARTITION BY user_id
ORDER BY timestamp DESC
) = 1;


QUALIFY
особенно удобен для deduplication, выбора последних записей и очистки данных. Он заметно уменьшает вложенность запросов и делает SQL проще для чтения. Только не забудьте проверить, поддерживает ли ваша СУБД QUALIFY.

👉 @SQLPortal
  • ❤ 2
  • 👍 2
Post #2083 1.04K
  • ❤ 3
  • 👍 1
Post #2082 1.12K
SQL-вопрос:

Что вернёт этот запрос?

👉 @SQLPortal
  • ❤ 1
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 →