SQL и Базы Данных
Ir al canal en Telegram
Задачи по базам данных и SQL Основы языка SQL, задачи и решения к ним. Админ: @anothertechrock
Mostrar más3 680
Suscriptores
-124 horas
-77 días
-1330 días
Archivo de publicaciones
3 679
Трюк дня. Проверка уникальности имени и фамилии. Решение
SELECT
COUNT (*),
COUNT (DISTINCT name || surname)
FROM customers;3 679
Трюк дня. Проверка уникальности имени и фамилии
Напишите SQL запрос, который проверит уникальность комбинации
name и surname таблицы customers при отсутствии первичных ключей:
name surname
Alex Kruis
Tim Boils
Tom Andreas
Tim Boils
Вариант решения будет вечером.3 679
Есть библиотека с книгами. Оперируя сущностями «Книга» и «Автор», Вы хотите сохранить реестр своей библиотеки в БД. Сколько таблиц понадобится для эффективного хранения такой структуры в 3-й нормальной форме?
3 679
Как SQL может ускорить вашу работу и где его освоить? Узнайте на вебинаре.
→ Бесплатно, 25 июля в 19:00
SQL — это расчёты метрик, отчёты, поиск нужных данных, быстрота и надёжность. Рассказывать о навыке будут эксперты:
◾️ Дмитрий Попков, маркетинговый аналитик в Яндексе.
Знает, как ускорить работу с помощью SQL.
◾️ Сушков Александр, автор курсов по SQL и преподаватель Яндекс Практикума.
Не только обучает SQL, но и думает на нём.
◾️ Семён Расторопов, выпускник первой когорты курса «SQL для работы с данными и аналитики».
Умеет решать задачи со звёздочкой.
Вы узнаете:
— зачем нужен SQL в анализе данных и других сферах;
— какие задачи с можно решать с помощью SQL;
— как легче его выучить.
→ Зарегистрироваться на вебинар
3 679
Ответ на "Даны таблицы
workers и departments. Найдите все департаменты без единого сотрудника."
SELECT department_name
FROM workers w
RIGHT JOIN departments d ON (w.department_id = d.department_id)
WHERE first_name IS NULL;3 679
Маркетинговый аналитик в Фоксфорд 🦊📊
Фоксфорд — онлайн-школа с собственной образовательной платформой для 1–11-го классов, дошкольников, родителей и учителей.
Что нужно будет делать:
▪️Строить data-based подход для всех решений в маркетинге
▪️Оптимизировать CAC
▪️Оказывать аналитическую поддержку экспериментов, поиск аномалий
▪️Разрабатывать дашбордов, построение моделей, в том числе прогнозных и многое другое
Ключевые требования:
▪️Опыт в анализе данных от года;
▪️Понимание структуры данных, предоставляемых Google Analytics, Яндекс.Метрикой и рекламными кабинетами других площадок, знание их ограничения и умение руками работать с этими данными и данными кликстрима (мы не используем внешних инструментов, только свое DWH, только hardcore)
▪️Продвинутый SQL, будет плюсом — если умеешь в Python
▪️Опыт работы в любой из современных BI-систем
Узнать подробнее о вакансии и откликнуться
3 679
Вопрос с собеседования.
Даны таблицы
workers и departments. Найдите все департаменты без единого сотрудника.3 679
Устраивают ли вас таск-менеджеры, которые вы используете? Хотели бы что-то в них изменить? Не все готовые решения отвечают запросам пользователей, а писать что-то с нуля — муторно и сложно. Ребята из low-code конструктора Ozma рассказали и показали, как создать свой таск-трекер и настроить его под себя.
https://habr.com/ru/post/673874/
3 679
Трюк дня. Улучшить производительность запроса к таблице с индексом. Решение
При использовании функции
DATEPART происходит неявное преобразование типа данных. И индекс не будет использован.
Поэтому для лучшей производительности запрос лучше писать следующим образом:
*
FROM test
WHERE signup_date >= '20210101'
AND signup_date < '20220101';3 679
Трюк дня. Улучшить производительность запроса к таблице с индексом
В таблице
test в столбце signup_date содержатся данные типа date. Для этого стоблца существует индекс.
Следующий SQL запрос не будет использовать существующий индекс, что может приводить к потере производительности:
SELECT * FROM test WHERE DATEPART (YEAR, signup_date) = '2021';Перепишите запрос так, чтобы существующий индекс стал использоваться. Решение будет вечером.
3 679
Ответ на "В чём разница между
UNION и UNION ALL?".
Оба UNION и UNION ALL объединяют результат двух разных SQL запросов.
Они отличаются тем, как они обрабатывают дубликаты:
UNION выполняет DISTINCT в результирующем наборе, исключая любые повторяющиеся строки.
UNION ALL не удаляет дубликаты, и поэтому он быстрее, чем UNION.3 679
А вы знали что запрос
select count(distinct id) from users; в 100 раз медленнее, чем select count(*) from users; ?
Об этом и других способах ускорить работу баз данных расскажем на бесплатном вебинаре «Оптимизация PostgreSQL. Возможности и ограничения».
Спикер вебинара Иван Чувашов — сертифицированный администратор PostgreSQL, администратор баз данных в Southbridge, ведущий инженер Okko.
Он расскажет о построении эффективной архитектуры и оптимизации SQL-запросов в PostgreSQL. Кратко разберет, как настраивать конфигурацию, и объяснит на примерах, почему одни запросы оптимальнее других.
Записаться на вебинар можно здесь.
А если вы хотите глубже погрузиться в тему, обратите внимание на интенсивы «Оптимизация запросов SQL» и «PostgreSQL: репликация и бэкап». На них можно еще подробнее изучить настройки и конфигурации, а также закрепить знания на практике. Интенсивы помогут в работе администраторам баз данных и разработчикам приложений.3 679
При помощи оператора UNION нельзя объединить результаты запросов:
