SQL и БД Learning
Відкрити в Telegram
№ 5060218708 Изучаем SQL с нуля По всем вопросам @mascarov_valentin Реклама на бирже - https://telega.in/c/SQl_and_DB_Learning
Показати більше9 715
Підписники
+124 години
-177 днів
-4830 день
Архів дописів
9 717
BINARY - MySQL
BINARY - это тип данных, который используется для хранения двоичных данных. Этот тип данных может быть использован для хранения любых данных, которые не могут быть интерпретированы как символы, такие как изображения, звуковые файлы, видео и т.д.
BINARY имеет следующие характеристики:
- Фиксированная длина: Длина поля BINARY всегда фиксирована и задается при создании таблицы. Например, если вы создаете поле BINARY(10), то оно всегда будет занимать 10 байт в таблице, даже если вы вставляете данные меньшего размера.
- Регистрозависимость: Данные типа BINARY регистрозависимы, что означает, что значения 'abc' и 'ABC' будут различаться, даже если они имеют одинаковую длину.
- Сравнение: Для сравнения данных типа BINARY используется бинарное сравнение, то есть двоичный код каждого символа сравнивается отдельно.
- Индексирование: Поля типа BINARY могут быть проиндексированы, что повышает скорость поиска данных.
9 717
ETCD — это простое в использовании, но при этом высоконадёжное распределённое хранилище для пар ключ-значение. И нужно уметь с ним работать.
Первый подход предлагаем сделать на открытом уроке курса «NoSQL» в Отус 28 августа, в 20.00 (мск).
💬На вебинаре «Введение в ETCD-кластер», который проведет Евгений Аристов, вы изучите:
- цели и задачи ETCD;
- отличия ETCD от прочих аналогичных решений;
- алгоритм Raft;
- основные моменты установки и настройки кластера ETCD.
👉Регистрируйтесь и ставьте событие в календарь: https://otus.pw/wyj0/
🔥Продолжить изучение тонкостей NoSQL вы сможете на самом курсе, который стартует уже в сентябре.
Нативная интеграция. Подробная информация на сайте otus.ru
9 717
Все о jsonb_to_recordset в SQL
Функция jsonb_to_recordset в SQL используется для преобразования данных, хранящихся в формате JSON, в таблицы. Она позволяет распаковывать массивы и объекты JSON и превращать их в строки и столбцы в таблице.
Кроме того, jsonb_to_recordset позволяет работать с вложенными объектами и массивами. Для этого нужно использовать функцию jsonb_each, которая распаковывает объекты и массивы JSON в отдельные строки.
9 717
Преобразование xml-поля в SQL
Для преобразования xml-поля в SQL необходимо выполнить следующие шаги:
1. Создать таблицу в базе данных с полем типа xml.
2. Вставить данные в таблицу.
3. Использовать функции для извлечения данных из xml-поля.
Например, функция value() извлекает значение элемента или атрибута из xml-поля.
4. При необходимости, выполнить другие действия с данными, полученными из xml-поля, с помощью стандартных средств SQL.
9 717
Начать заниматься IT можно, не дожидаясь выпускного! Так вы не только освоите уникальные скиллы, но и поймёте, какая профессия вам по-настоящему подходит.
А погружаясь в IT с Яндекс Лицеем, вы сможете попробовать себя в практических задачах и получите актуальные знания от опытных разработчиков.
Сейчас Яндекс Лицей предлагает бесплатное обучение по Python, Go, разработке игр, Machine Learning, Django, анализу данных и Big Data. Можно выбрать годовые офлайн- или онлайн-курсы. В программе — интенсивное погружение в IT, работа над групповыми проектами и много общения с единомышленниками.
В Лицее ждут школьников 8‒11-х классов и студентов ссузов 1-2-х курсов. Скорее переходите по ссылке и читайте подробности
9 717
REPLICATE в SQL Server
REPLICATE - это функция в SQL Server, которая повторяет входную строку указанное количество раз. Эта функция может быть полезна во многих сценариях, например, при создании тестовых данных или при форматировании вывода.
Синтаксис функции REPLICATE выглядит следующим образом:
REPLICATE ( string_expression , integer_expression )
- string_expression - это строковое выражение, которое нужно повторить.
- integer_expression - это выражение целого типа, определяющее количество раз, которое нужно повторить строку.
9 717
Ранжирующая функция NTILE()
Функция NTILE() является частью языка SQL и используется для разделения результата запроса на определенное количество групп или сегментов. Эта функция принимает один аргумент - количество сегментов на которые нужно разделить результат.
9 717
Поиск референта заказчика
Напишите SQL-запрос, чтобы вывести в отчет имена клиентов, на которых не ссылается клиент с id = 2.
Верните таблицу результатов в любом порядке.
В решении будет подход с использованием: <>(!=) и IS NULL
Некоторые интуитивно приходят к следующему решению.
SELECT name FROM customer WHERE referee_Id <> 2;
Однако этот запрос вернет только один результат: Zack, хотя есть 4 клиента, которых не направляла Jane (включая саму Jane). Все клиенты, которых вообще никто не приводил (значение NULL в столбце referee_id), не отображаются.
Алгоритм
В MySQL используется трехзначная логика - TRUE, FALSE и UNKNOWN. Все, что сравнивается с NULL, оценивается в третье значение: UNKNOWN. Это "все" включает в себя и само значение NULL! Именно поэтому в MySQL предусмотрены операторы IS NULL и IS NOT NULL, специально проверяющие наличие NULL.
Таким образом, в предложение WHERE необходимо добавить еще одно условие 'referee_id IS NULL'.
#разбор_кода
9 717
Суррогатные ключи
В базах данных ключ - это поле или набор полей, которые однозначно идентифицируют запись в таблице. Суррогатный ключ - это ключ, который используется вместо естественного ключа, который может быть слишком сложным или неустойчивым для использования в качестве ключа.
Например, в таблице базы данных, содержащей информацию о сотрудниках, естественный ключ может быть сочетанием имени, фамилии и даты рождения. Однако, если имя или фамилия сотрудника изменятся, ключ также должен быть изменен, что может привести к проблемам с целостностью данных. В этом случае использование суррогатного ключа, такого как уникальный идентификатор, может быть более надежным.
Разбор примера с фото:
В этом примере, id является суррогатным ключом, который генерируется автоматически при каждом вставке новой записи. Он гарантирует уникальность каждой записи и не зависит от других полей таблицы.
Существует несколько преимуществ использования суррогатных ключей в SQL:
1. Простота и удобство в использовании.
2. Улучшение производительности при выполнении операций вставки и обновления.
3. Улучшение целостности данных, так как суррогатный ключ не зависит от других полей таблицы.
4. Удобство для программистов при написании запросов, так как они могут использовать суррогатный ключ вместо нескольких полей для поиска конкретной записи в таблице.
9 717
🔥Приглашаем на открытый урок по аналитике данных.
Тема: Базовый сбор требований в работе дата-аналитика
Урок пройдёт 23 августа в 20:00. Вебинар приурочен к старту онлайн-курса "Аналитик данных"
⚡️Что разберём на уроке:
-Жизненный цикл задачи в анализе данных;
-Какие вопросы нужно обязательно задавать и как правильно фиксировать ответы;
-Как преодолевать возражения и не заработать ненужный стресс в процессе.
Урок будет полезен:
-Новичкам в области анализа данных, которые задумываются об углублении знаний;
-Специалистам, которые уже делают первые шаги в этой профессии;
-Аналитикам, работающим с подготовкой ручной отчетности.
Продолжить обучение можно на онлайн-курсе "Аналитик данных",
который можно приобрести в рассрочку.
💪Пройдите тестирование и регистрируйтесь на занятие:
https://otus.pw/TLwm/
Нативная интеграция. Информация о продукте www.otus.ru9 717
JSON_VALUE в Microsoft SQL Server
JSON_VALUE - это функция в Microsoft SQL Server, которая извлекает значение из JSON-объекта по заданному пути.
Синтаксис функции JSON_VALUE выглядит следующим образом: JSON_VALUE (expression, path)
-expression - это JSON-объект, из которого нужно извлечь значение.
- path - это путь к значению внутри JSON-объекта.
Функция JSON_VALUE также может использоваться в фильтрах WHERE.
9 717
Что покажет следующий запрос:
select * from Orders where date between '2017-01-01' and '2017-12-31'
9 717
Все о команде COLLATE в SQL
Команда COLLATE в SQL используется для указания правил сортировки и сравнения символов при выполнении операций сравнения в запросах.
Существует несколько вариантов значений, которые можно использовать в команде COLLATE, включая:
- _CS - с учетом регистра
- _CI - без учета регистра
- _AS - с учетом локали (language sensitive)
- _AI - без учета локали (language insensitive)
Примеры:
- Cyrillic_General_CS_AS - с учетом регистра и локали для кириллицы
- Latin1_General_CI_AI - без учета регистра и локали для латиницы
9 717
Разница между using и on в join-запросах
Join-запросы используются для объединения данных из нескольких таблиц в один результат. В MySQL для этого можно использовать конструкции using и on. Обе конструкции используются для указания условий объединения таблиц, но они имеют некоторые различия.
1 - Конструкция using используется, когда объединение происходит по столбцу, имеющему одинаковое имя в обеих таблицах.
2 - Конструкция on используется, когда объединение происходит по каким-то другим условиям.
Конструкция using удобна в случаях, когда объединение происходит по столбцам с одинаковыми именами, а on - в случаях, когда объединение происходит по другим условиям.
9 717
Быстро получаем количество записей в большой таблице
отображение общего кол-ва записей в админках
Первый запрос - возвращает точное количество записей, но может быть медленным.
Второй запрос - возвращает приблизительное количество записей, но быстрее, чем первый запрос. Точность данного запроса выше, чем у следующего, но для его выполнения требуется актуальная статистика по таблице.
Третий запрос - возвращает приблизительное количество записей, но быстрее, чем первый запрос.
Точность третьего запроса ниже, чем у предыдущего, но для его выполнения не требуется актуальная статистика по таблице. Преимуществом данного подхода является возможность задавать условие выборки.
9 717
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
9 717
🔥 Полезная Шпаргалка-гайд по работе с Python и PostgreSQL.
Все от установки и соединение с БД до создания таблиц и работы с полями.
9 717
⚡️Сишарповец, апнуться — просто!
Начните на бесплатном вебинаре онлайн-курса «C# ASP.NET Core разработчик» — «ASP.NET: взаимодействие с источниками данных»: регистрация
На бесплатном занятии мы:
— познакомимся с видами баз данных;
— разберем, как работать с реляционными и нереляционными базами данных напрямую и через ORM.
🔥Экспертизой поделится Дмитрий Гурьянов — опытный Тимлид команды разработки CRM-решений на платформе .NET.
— Продолжить обучение после вебинара по спеццене можно на полном курсе, доступном также в рассрочку.
Нативная интеграция. Информация о продукте www.otus.ru
9 717
#вопросы_с_собеседований
Напиши SQL-код, выводящий календарь с таблицей, днями недели и числами
Решение:
Для вывода календаря текущего месяца в виде таблицы с днями недели и числами можно воспользоваться кодом с фото.
В этом коде мы используем функции MySQL для работы с датами. Сначала мы выбираем последний день месяца и добавляем к нему 1 день, затем вычитаем из этой даты количество дней, прошедших с начала месяца, чтобы получить первый день текущего месяца.
Далее мы генерируем таблицу с днями недели (от 0 до 6) и присоединяем ее к таблице с датами. Затем мы выбираем число дня месяца и название дня недели для каждой даты и сортируем их по возрастанию даты.
Результат выполнения данного кода будет соответствовать требуемому формату календаря на текущий месяц.
9 717
Индекс GIN
Индекс GIN - это тип индекса в PostgreSQL, который позволяет эффективно искать данные в полнотекстовых полях, массивах, JSON и других типах данных. Он создается на столбцах с комплексными или составными типами данных, такими как полнотекстовые данные или JSON. Индекс разбивает значения в столбце на отдельные элементы и создает отображение между этими элементами и строками в таблице, что позволяет быстро искать значения в этих типах данных.
Преимущества использования индекса GIN:
- Быстрый поиск по полнотекстовым данным и другим составным типам данных
- Поддержка операций поиска, включая поиск по подстроке и полнотекстовый поиск
- Поддержка операций над массивами, такие как поиск элементов массива и проверка наличия значения в массиве
- Возможность использования в комбинации с другими индексами для дополнительной оптимизации запросов
Создание индекса осуществляется с указанием типа индекса как GIN и имени столбца, на котором создается индекс.
Пример: CREATE INDEX idx_gin ON mytable USING GIN (mycolumn);
Использование индекса GIN в запросах выполняется с помощью оператора @@ или функции tsquery.
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
