Быстро получаем количество записей в большой таблице
отображение общего кол-ва записей в админках
Первый запрос - возвращает точное количество записей, но может быть медленным.
Второй запрос - возвращает приблизительное количество записей, но быстрее, чем первый запрос. Точность данного запроса выше, чем у следующего, но для его выполнения требуется актуальная статистика по таблице.
Третий запрос - возвращает приблизительное количество записей, но быстрее, чем первый запрос.
Точность третьего запроса ниже, чем у предыдущего, но для его выполнения не требуется актуальная статистика по таблице. Преимуществом данного подхода является возможность задавать условие выборки.
🔥 Полезная Шпаргалка-гайд по работе с Python и PostgreSQL.
Все от установки и соединение с БД до создания таблиц и работы с полями.
#вопросы_с_собеседований
Напиши SQL-код, выводящий календарь с таблицей, днями недели и числами
Решение:
Для вывода календаря текущего месяца в виде таблицы с днями недели и числами можно воспользоваться кодом с фото.
В этом коде мы используем функции MySQL для работы с датами. Сначала мы выбираем последний день месяца и добавляем к нему 1 день, затем вычитаем из этой даты количество дней, прошедших с начала месяца, чтобы получить первый день текущего месяца.
Далее мы генерируем таблицу с днями недели (от 0 до 6) и присоединяем ее к таблице с датами. Затем мы выбираем число дня месяца и название дня недели для каждой даты и сортируем их по возрастанию даты.
Результат выполнения данного кода будет соответствовать требуемому формату календаря на текущий месяц.
Различия между операторами IN и EXISTS
Операторы IN и EXISTS - операторы, которые используются для фильтрации данных в запросах. Они имеют различия в своем использовании и функционале.
1. Оператор IN используется для сравнения значения столбца с набором значений, указанных в запросе. Он возвращает значение true, если значение столбца соответствует хотя бы одному из значений в списке. См. Пример 1.
2. Оператор EXISTS используется для проверки наличия записей в подзапросе. Если подзапрос возвращает хотя бы одну запись, то оператор EXISTS возвращает значение true. См. Пример 2.
Различия между операторами IN и EXISTS:
- Оператор IN используется для сравнения значения столбца с набором значений, а оператор EXISTS для проверки наличия записей в подзапросе.
- Оператор IN не требует наличия связи между таблицами, а оператор EXISTS требует наличия связи между основной таблицей и подзапросом.
- Оператор IN может использовать список значений или подзапрос, а оператор EXISTS может использовать только подзапрос.
Функция SQL Server: ISNUMERIC
Функция ISNUMERIC используется в SQL Server для проверки, является ли выражение числом или нет. Она возвращает 1, если выражение может быть преобразовано в число, и 0, если нет.
Пример использования функции ISNUMERIC:
SELECT ISNUMERIC('123') -- вернет 1
SELECT ISNUMERIC('abc') -- вернет 0
SELECT ISNUMERIC('$12.34') -- вернет 0
Использование функции ISNUMERIC следует применять с осторожностью, так как она может быть не совсем точной. Например, она может вернуть 1 для строк, которые в действительности не являются числами, например, для строк, содержащих знаки пунктуации.
MSSQL: ребилд индексов в высоко нагруженных системах, Standard Edition
Смотреть статью
Хотите дорасти до уверенного Middle Data Engineer, но текущего стека не хватает?
На курсе «Инженер данных» от karpovꓸcourses опытные специалисты из VK, Яндекс Go, Sbermarket и Ozon помогут дополнить ваш арсенал современными инструментами для хранения и обработки больших данных.
За 5 месяцев вы научитесь:
● Работать с реляционными и MPP базами данных
● Автоматизировать ETL-пайплайны
● Проектировать традиционные и облачные хранилища
● Применять ML-модели на больших данных
● Строить дашборды для мониторинга DWH платформы
Здесь вас ждут интересные проекты и настоящая инфраструктура: Greenplum, Hadoop, Kubernetes, Spark, Hive, Kafka, Airflow, Tableau.
По итогам обучения вы станете крепким Middle специалистом с широким набором прикладных навыков, а наш HR доведёт вас до оффера в хорошую компанию.
Стартуем 10 августа. Ждём вас на курсе!
[Записаться]
#вопросы_с_собеседований
Достаньте одним запросом все страницы вместе с их подкатегориями и категориями.
Даны 3 таблицы: таблица category с полями id и name, таблица sub_category с полями id и name и таблица page с полями id, name и sub_category_id.
Для получения всех страниц вместе с их подкатегориями и категориями, нужно использовать оператор JOIN для объединения всех трех таблиц в один запрос.
- Объяснение:
- SELECT: выбираем необходимые столбцы из таблицы page.
- FROM: указываем таблицу page, которая будет являться нашей основной таблицей.
- JOIN: объединяем таблицу sub_category по id подкатегории из таблицы page.
- ON: указываем, что id подкатегории в таблице page должен быть равен id подкатегории в таблице sub_category.
- JOIN: объединяем таблицу category по id категории из таблицы sub_category.
- ON: указываем, что id категории в таблице sub_category должен быть равен id категории в таблице category.
- SELECT: выбираем название подкатегории из таблицы sub_category и название категории из таблицы category.
- AS: переименовываем названия столбцов для удобства чтения.
Нашли лучшие курсы по SQL и аналитике данных!
Tutortop — образовательный маркетплейс №1, где представлено более 5000 курсов от более чем 300 школ. Вы можете сравнить курсы по рейтингу, цене и отзывам, а еще купить дешевле, чем напрямую 🔥
Собрали для вас подборку из лучших курсов для аналитиков данных по мнению пользователей tutortop:
— Курс «SQL с нуля для анализа данных» от Eduson Academy. Рейтинг 4.8 из 5. Скидка 5% по промокоду TUTORTOP до 11.08
— Курс «Аналитик данных с гарантией трудоустройства» от Skypro. Рейтинг 4.9 из 5. Скидка 15% по промокоду TUTORTOP до 11.08
— Курс «Системный аналитик» от Академии АйТи. Рейтинг 4.7 из 5.
Все эти курсы и десятки других можно найти и сравнить на tutortop⚡️
Синонимы в SQL
- это альтернативные имена для таблиц, представлений, функций и других объектов базы данных. Их использование уменьшает количество кода при написании запросов и повышает удобство использования базы данных.
Для создания синонима в SQL используется оператор CREATE SYNONYM. Например, для таблицы employees можно создать синоним emp следующим запросом:
CREATE SYNONYM emp FOR employees;
Теперь таблица employees доступна через синоним emp. Вместо имени таблицы используйте синоним в запросах:
SELECT * FROM emp;
Использование синонимов может ухудшить производительность запросов, так как SQL Server должен выполнить дополнительную работу для разрешения ссылки на объект через синоним.
Один бот вместо тысячи каналов
Зачем подписываться на десятки каналов, если есть новостной бот AI Open News?
Он собирает актуальные посты из ваших любимых пабликов в персонализированную подборку. Можно читать ее, и не тратить время на лазанье по каналам.
И бот не заспамит вас уведомлениями — он высылает подборки только в установленное время. Чтобы читать перед сном или по пути на работу.
А еще он умеет составлять дайджесты из актуальных постов на любую тематику.
AI Open News удобнее каналов. Попробуйте 👉 @AiOpenNewsbot
Создание поля, объединяющего имя и зарплату в выборке из таблицы пользователей
Для создания поля, которое будет включать в себя и имена, и зарплату, можно использовать функцию CONCAT(). Она объединяет две или более строковые величины в одну строку.
Пример SQL-запроса для создания поля new_field на фото.
В примере мы выбираем таблицу users и создаем новое поле с помощью функции CONCAT(). Внутри функции указываем два поля, которые хотим объединить - name и salary. Также задаем новое имя для созданного поля - new_field, используя AS.
Теперь в результате выполнения запроса в выборке будет присутствовать новое поле new_field, которое будет содержать имя пользователя и его зарплату.
Использование функций регулярных выражений в PostgreSQL / Greenplum
Смотреть статью
Live-интенсив для начинающих аналитиков по SQL и продуктовым метрикам
Завтра в 18:00 по Мск пройдет бесплатный live-интенсив по теме: “Расчет продуктовых метрик с помощью SQL”.
Расчёт продуктовых метрик — первый шаг при принятии решений в любой data-driven компании.
👉🏻 На live-интенсиве мы с вами подключимся к реальной облачной базе PostgreSQL и с помощью SQL рассчитаем основные продуктовые метрики онлайн-сервиса:
* Activation rate
* MAU
* ARPU и ARPPU
* другие метрики
Ведущий интенсива:
◾️ Алексанян Андрон:
- CEO IT Resume & Simulative;
- CTO Бюро анализа данных;
- 7+ опыта в аналитике.
На интенсиве вы узнаете:
📍 Как используют SQL в реальной работе — вы сможете сохранить это в портфолио и показать на собеседовании: работодатель точно оценит 🤘🏻
📍 Профессиональные фишки и лайфхаки SQL: мы копили их годами и хотим рассказать вам 😏
📍 Как писать код на SQL, а также мы расскажем про продуктовые метрики — подробно объясним всё с нуля 😍
Регистрируйтесь по ссылке → https://r.bothelp.io/tg?domain=intensiv_sql_bot&start=c1692000717861-ds&utm_source=telegram&utm_medium=SQL_and_DB_Learning
⚡️Сишарповец, апнуться — просто!
Начните на бесплатном вебинаре онлайн-курса «C# ASP.NET Core разработчик» — «ASP.NET: взаимодействие с источниками данных»: регистрация
На бесплатном занятии мы:
— познакомимся с видами баз данных;
— разберем, как работать с реляционными и нереляционными базами данных напрямую и через ORM.
🔥Экспертизой поделится Дмитрий Гурьянов — опытный Тимлид команды разработки CRM-решений на платформе .NET.
— Продолжить обучение после вебинара по спеццене можно на полном курсе, доступном также в рассрочку.
Нативная интеграция. Информация о продукте www.otus.ru
Индекс GIN
Индекс GIN - это тип индекса в PostgreSQL, который позволяет эффективно искать данные в полнотекстовых полях, массивах, JSON и других типах данных. Он создается на столбцах с комплексными или составными типами данных, такими как полнотекстовые данные или JSON. Индекс разбивает значения в столбце на отдельные элементы и создает отображение между этими элементами и строками в таблице, что позволяет быстро искать значения в этих типах данных.
Преимущества использования индекса GIN:
- Быстрый поиск по полнотекстовым данным и другим составным типам данных
- Поддержка операций поиска, включая поиск по подстроке и полнотекстовый поиск
- Поддержка операций над массивами, такие как поиск элементов массива и проверка наличия значения в массиве
- Возможность использования в комбинации с другими индексами для дополнительной оптимизации запросов
Создание индекса осуществляется с указанием типа индекса как GIN и имени столбца, на котором создается индекс.
Пример: CREATE INDEX idx_gin ON mytable USING GIN (mycolumn);
Использование индекса GIN в запросах выполняется с помощью оператора @@ или функции tsquery.
Разница между функциями CHARINDEX и SUBSTR
1. Функция CHARINDEX используется для поиска подстроки в строке и возвращает позицию первого вхождения этой подстроки. Синтаксис функции выглядит следующим образом:
CHARINDEX('подстрока', 'строка') - где 'подстрока' - искомая подстрока, а 'строка' - строка, в которой происходит поиск.
2. Функция SUBSTR используется для извлечения подстроки из строки. Синтаксис функции выглядит следующим образом:
SUBSTR('строка', начальная_позиция, длина) - где 'строка' - строка, из которой извлекается подстрока, начальная_позиция - позиция, с которой начинается извлечение подстроки (отсчет начинается с 1), а длина - количество символов, которые нужно извлечь.
Курс «Английский для аналитиков» Яндекс Практикума
Для специалистов, которые хотят изменить свою профессиональную жизнь и работать в международной команде.
Обучение построено вокруг рабочих ситуаций и полезных для карьеры навыков:
🗣 Самопрезентация. Рассказ о своей роли, задачах, сфере ответственности на поведенческом интервью и в неформальной беседе.
🙌 Работа в команде. Стендапы, планирование спринтов, демонстрация навыков командной работы на собеседовании.
👨💻 Общение с заказчиками и исполнителями. Сбор требований у стейкхолдеров и постановка задач для разработчиков.
📈 Презентация результатов работы. Выступление на митапах, неформальное общение с коллегами из отрасли.
📝 Обсуждение решений по проекту. Генерация и аргументация идей, участие в мозговых штурмах.
🚀 Рефлексия и самоанализ. Ретроспектива, ревью, ответы на сложные вопросы.
Запишитесь на бесплатную консультацию. Кураторы определят ваш уровень языка и расскажут подробнее про обучение.
Обработка исключений в SQL Server
В SQL Server для обработки исключений используется конструкция TRY-CATCH. Условия записываются внутри блока TRY, а исключения перехватываются в блоке CATCH.
Использование конструкции TRY-CATCH очень важно для обработки исключительных ситуаций в SQL Server. Она позволяет более гибко управлять ошибками и уведомлять об их возникновении.
Приемы очистки данных
1. Удаление дубликатов
Дублирующиеся записи могут возникать при вставке данных из различных источников или при ошибочной записи данных. Для удаления дубликатов можно использовать оператор DISTINCT.
2. Удаление пустых значений
Пустые значения в таблице могут возникать при ошибочной записи данных или при отсутствии информации. Для удаления пустых значений можно использовать операторы IS NULL или IS NOT NULL.
3. Изменение формата данных
В некоторых случаях необходимо изменить формат данных в таблице. Например, привести все буквы в столбце к верхнему или нижнему регистру. Для этого можно использовать функции UPPER и LOWER.
4. Удаление лишних символов
В таблице могут содержаться лишние символы, которые могут мешать при поиске или сортировке данных. Для удаления лишних символов можно использовать функцию REPLACE.
5. Удаление неактуальных записей
Неактуальные записи в таблице могут возникать при изменении данных или при удалении объектов, на которые ссылается таблица. Для удаления неактуальных записей можно использовать операторы JOIN и WHERE.
Сложные составные запросы CASE WHEN
1. Оператор CASE WHEN
Оператор CASE WHEN позволяет выполнять логические проверки и возвращать различные значения в зависимости от результата проверки. Он может быть использован в SELECT, WHERE, и ORDER BY выражениях, а также в других местах в SQL запросах.
2. Составные запросы CASE WHEN
Составные запросы CASE WHEN могут содержать несколько операторов CASE WHEN, а также другие логические операторы, такие как AND и OR.
🔥Как правильно обработать данные перед исследованием?
Разобраться с этим можно на открытом уроке «Предварительная обработка данных перед исследованием» от OTUS, который пройдёт 9 августа в 20:00.
Урок приурочен к старту онлайн-курса «Аналитик данных»,
который можно будет приобрести в рассрочку.
🎇На вебинаре:
-Расскажем про основные методы проверки, которым важно
подвергнуть ваш датасет перед началом работы;
-Познакомимся с этапами подготовки и очистки данных;
-Поговорим об основных подводных камнях, которые могут нас подстерегать на этом пути.
👩🦱🧑🦱Кому подойдет:
-Тем, кто хотя бы раз задумывался о переходе в сферу дата-аналитики;
-Тем, кто хочет разобраться в методах исследования данных.
В результате вебинара вы узнаете как проводится подготовка
данных к дальнейшим, более глубинным, исследованиям.
👉Регистрация на урок: https://otus.pw/QewP/
Рассмотрение CASE WHEN THEN как оператор if
Одним из применений CASE WHEN THEN является использование ее в качестве замены оператора if в программировании.
Использование конструкции CASE WHEN THEN может значительно упростить код и улучшить читаемость запросов в базе данных.
Аналитика небольших данных: как совместить Excel, Python и SQL с помощью инструментов с открытым исходным кодом
Смотреть статью
Рассмотрение CASE WHEN THEN как оператор if
Одним из применений CASE WHEN THEN является использование ее в качестве замены оператора if в программировании.
Использование конструкции CASE WHEN THEN может значительно упростить код и улучшить читаемость запросов в базе данных.
📣 Знакомьтесь, Артём Чернов — не скучный чиновник Минцифры, а действующий цифровой предприниматель, урбанист, который всерьез занимается публичной политикой.
📌Новости IT-сферы: личный опыт и экспертиза, новейшие технологии, менторство и лайфхаки для развития ;
📌 Урбанистика: тренды и инициативы по развитию городов, пространств и людей в них.
📌 Политика “здорового человека”: эффективное взаимодействие с властью, получение бонусов и преференций для ИТ-специалистов и не только для них.
📌Общественная деятельность: цифровые социальные проекты и волонтерство, участие в жизни города, посильное каждому;
✔️ Подписаться: Лица Чернова