SELECT STUFF('Hello World', 7, 5, 'SQL') AS Result;
SELECT
DepartmentID,
STUFF(
(SELECT ',' + EmployeeName
FROM Employees
WHERE DepartmentID = E.DepartmentID
FOR XML PATH('')),
1, 1, '') AS EmployeesList
FROM Employees E
GROUP BY DepartmentID;
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍9❤7👎1
▪ Github
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26❤8🔥2
#курс #sql #datascience
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👎7👍5🔥4
CREATE TABLE sales (
sale_id INT PRIMARY KEY,
product_id INT,
sale_date DATE,
sale_amount INT
);
CREATE TABLE products (
product_id INT PRIMARY KEY,
category VARCHAR(50),
price DECIMAL(10, 2)
);
- Месяц (sale_month)
- Название категории (category)
- Общее количество проданных товаров в этой категории за месяц (total_sales)
- Разницу (difference) между текущими продажами категории и продажами этой же категории в предыдущем месяце. Если предыдущего месяца нет, вывести NULL
WITH MonthlySales AS (
SELECT
DATE_FORMAT(sale_date, '%Y-%m') AS sale_month,
p.category,
SUM(sale_amount) AS total_sales
FROM sales s
JOIN products p ON s.product_id = p.product_id
GROUP BY DATE_FORMAT(sale_date, '%Y-%m'), p.category
),
RankedCategories AS (
SELECT
sale_month,
category,
total_sales,
ROW_NUMBER() OVER (PARTITION BY sale_month ORDER BY total_sales DESC) AS sales_rank
FROM MonthlySales
),
PopularCategories AS (
SELECT
sale_month,
category,
total_sales
FROM RankedCategories
WHERE sales_rank = 1
),
CategoryWithDifference AS (
SELECT
sale_month,
category,
total_sales,
LAG(total_sales, 1) OVER (PARTITION BY category ORDER BY sale_month) AS previous_sales
FROM PopularCategories
)
SELECT
sale_month,
category,
total_sales,
total_sales - previous_sales AS difference
FROM CategoryWithDifference
ORDER BY sale_month;
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34❤8🔥6👏6🥰1
💫 StarbaseDB
Мощная опенсорс база данных HTTP SQLite с открытым исходным кодом, масштабируемая до нуля и построенная на базе в Cloudflare.
▪ Язык: Typescript
⚡ Особенности
- Эндпоинты HTTPS для взаимодействия с вашей базой данных
- Поддержка транзакций для взаимодействия с базой данных ACID
- Вычисления с нулевым масштабированием
▪ Github
@sqlhub
Мощная опенсорс база данных HTTP SQLite с открытым исходным кодом, масштабируемая до нуля и построенная на базе в Cloudflare.
▪ Язык: Typescript
⚡ Особенности
- Эндпоинты HTTPS для взаимодействия с вашей базой данных
- Поддержка транзакций для взаимодействия с базой данных ACID
- Вычисления с нулевым масштабированием
▪ Github
@sqlhub
👍7❤6🔥3
MongoDB представила обновлённую версию 8.0 своей базы данных линейки Enterprise и облачного сервиса Atlas. Обновления обещают увеличить пропускную способность на 32%, ускорить пакетную запись на 56% и повысить скорость параллельной записи на 20%.
Для решения проблем, связанных с быстрым развитием ИИ, неопределённостью в выборе технологий и нехваткой навыков, MongoDB запустила программу MongoDB AI Application Program (MAAP).
Компания планирует создать глобальную экосистему партнёров, которые будут устанавливать отраслевые стандарты для решений на основе ИИ, сотрудничая с Microsoft Azure, Google Cloud Platform, Amazon Web Services, Accenture, Anthropic и Fireworks AI.
Уже реализованы коммерческие решения для «французской автомобильной компании» и «глобального производителя бытовой техники».
🔗 iteuropa.com
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥3👍2
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤5👏2
В различных системах очен важно обеспечить согласованность данных при параллельных транзакциях. Одним из ключевых механизмов, который помогает в этом, являются уровни изоляции транзакций. Они регулируют, как обрабатываются изменения в данных при параллельной работе транзакций, предотвращая возможные аномалии.
Изоляция транзакций указывает степень, до которой операции в одной транзакции изолированы от операций в других. Это предотвращает такие проблемы, как грязные чтения, неповторяемые чтения и фантомные записи, обеспечивая целостность данных.
📌 Read Uncommitted:
Самый низкий уровень изоляции.
Транзакции могут читать изменения, сделанные другими транзакциями, даже если они не были зафиксированы (грязные чтения). Быстро, но рискованно.
📌 Read Committed:
Видны только зафиксированные данные. Это исключает грязные чтения, но могут возникать неповторяемые чтения (данные меняются между двумя запросами).
📌 Repeatable Read:
Это уровень, что данные, прочитанные транзакцией, не могут быть изменены другой транзакцией до завершения первой. Однако возможны фантомные чтения (новые строки появляются при повторных запросах).
📌 Serializable:
Самый высокий уровень изоляции. Полностью изолирует транзакцию, предотвращая грязные, неповторяемые и фантомные чтения. Однако это существенно снижает производительность.
Каждый уровень предлагает компромисс между производительностью и консистентностью данных. Более высокий уровень изоляции снижает конкурентоспособность, тогда как более низкий увеличивает риск возникновения аномалий. Важно правильно подобрать уровень в зависимости от требований приложения.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15❤7👍4👎1🥰1
Реляционные базы данных представляют собой базы данных, которые используются для хранения и предоставления доступа к взаимосвязанным элементам информации. Реляционные базы данных основаны на реляционной модели — интуитивно понятном, наглядном табличном способе представления данных. Каждая строка, содержащая в таблице такой базы данных, представляет собой запись с уникальным идентификатором, который называют ключом. Столбцы таблицы имеют атрибуты данных, а каждая запись обычно содержит значение для каждого атрибута, что дает возможность легко устанавливать взаимосвязь между элементами данных.
Таблицы в такой базе данных также соотносятся друг с другом строго определенным образом. Реляционные базы данных используют целый комплекс инструментов, которые обеспечивают целостность данных, т. е. их точность, полноту и единообразие.
На картинке представлены ключевые моменты, которые следует знать о проектировании реляционных баз данных.
#азы #sql
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥5❤3👎1
Master_SQL.pdf
754.9 KB
Большая шпаргалка по SQL — внутри ждёт всё, от основных команд до продвинутых фишек, вроде оконных функций.
— Основные команды SQL;
— SOL Joins;
— SQL Unions, Intersect, Except;
— Временные таблицы SQL, таблицы просмотра, CTE;
— Ранги SQL.
Сохраняйте себе, чтобы не потерять.
@sqlhub
— Основные команды SQL;
— SOL Joins;
— SQL Unions, Intersect, Except;
— Временные таблицы SQL, таблицы просмотра, CTE;
— Ранги SQL.
Сохраняйте себе, чтобы не потерять.
@sqlhub
❤18🔥15👍10👎1
Эксперт с семилетним стажем в области дата-сайенс разработал пошаговую программу изучения SQL. Эта программа размещена в виде репозитория на GitHub и дополнена ссылками на обучающие материалы. Вот подробный план на шесть недель:
Неделя 1: Основы SQL
Узнаем, как извлекать данные из базы данных.
Неделя 2: GROUP BY
Рассмотрение группировки данных.
Неделя 3: Виды JOIN
Знакомство с различными типами соединений таблиц.
Неделя 4: Оконные функции
Изучение оконных функций для анализа данных.
Неделя 5: CTE и подзапросы
Понимание концепции временных таблиц и подзапросов.
Неделя 6: Собственный проект
Применение полученных знаний на практике через выполнение самостоятельного проекта.
Ссылки на все материалы доступны по следующей ссылке: Дорожная карта обучения SQL.
https://github.com/andresvourakis/free-6-week-sql-roadmap-data-science
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21👍11🔥7
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤8👎3🔥3
Блог Uber Engineering опубликовал статью о том, как компания внедрила функцию преобразования текста в SQL в своем чат-интерфейсе.
Эта функция включает в себя использование технологий NLP (natural language processing) для понимания запросов пользователей и последующего генерирования соответствующих SQL-запросов.
Uber добавил множество дополнительных функций, таких как автоматические подсказки таблиц и параметров, из которых пользователь может выбрать нужные данные для своего запроса. Эти улучшения делают процесс взаимодействия с базой данных через чат намного удобнее и проще.
Эта статья подчеркивает инновационный подход компании к улучшению пользовательского опыта и автоматизации рутинных процессов.
https://www.uber.com/en-DE/blog/query-gpt/
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍9🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Вот его основные возможности:
▪️Запуск одной ячейки приводит к автоматическому запуску всех зависимых ячеек.
▪️Вы можете запускать свои ноутбуки как скрипты Python, параметры которых задаются через аргументы командной строки.
▪️Встроенная поддержка SQL и удобная панель для работы с данными делают Marimo мощным инструментом для анализа информации.
▪️Ноутбуки Marimo сохраняются в формате .py, что позволяет легко управлять версиями через Git.
Важно отметить, что поддержка SQL была добавлена недавно. Это позволяет вам писать запросы и получать результаты в виде датафреймов.
pip install marimo && marimo tutorial intro
🔗 Ссылка
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍7❤4👎2😁2🤬1
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥7❤4👎1
Компания Oracle выпустила новую версию MySQL 9.1.0. Теперь сборки MySQL Community Server доступны для всех основных дистрибутивов Linux, FreeBSD, macOS и Windows. Благодаря новой модели выпуска версий, MySQL 9.1 относится к веткам "Innovation".
Эти ветки предназначены для раннего доступа к новым функциям и выпускаются каждые 3 месяца.
Их поддержка прекращается после выхода следующей значительной версии. Планируется выпуск LTS-версии летом следующего года, которая рекомендуется для стабильных внедрений.
После этого будет выпущена новая версия MySQL 10.0.
Что нового в MySQL 9.1?
- Добавлена поддержка
IF NOT EXISTS в CREATE VIEW,
предотвращая ошибки при создании представлений с существующими именами.- Прекращена загрузка триггеров при операциях чтения, уменьшая потребление памяти и нагрузку на CPU. Триггеры теперь загружаются только при модификациях данных.
- Расширен вывод
EXPLAIN
, включающий информацию о многодиапазонном чтении и полуобъединении.- Обеспечено атомарное выполнение операций CREATE DATABASE и DROP DATABASE для защиты от сбоев.
- В JavaScript-хранимых процедурах добавлен тип VECTOR для передачи данных между процедурами.
- Поддержка аутентификации через протокол OpenID Connect.
- Исправлено 27 уязвимостей, включая критическую CVE-2024-5535, вызванную чтением данных вне выделенного буфера в OpenSSL.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥6❤5😁1