Skip to content

Это будущее SQL? Исследуем синтаксис Pipe

Пересказ статьи Mateus Trentz. Is this the future of SQL? Exploring the Pipe Syntax




Некоторое время назад Google анонсировал предположительно новые улучшения в SQL, более интуитивный способ написания запросов к базам данных, используя синтаксис Pipe. Этот синтаксис следует порядку выполнения, который теоретически сделает запросы легче для понимания:

FROM table
|> WHERE values > 10
|> SELECT id, name, value

Продолжить чтение "Это будущее SQL? Исследуем синтаксис Pipe"

Новости за 2025-04-05 - 2025-04-11

§ Популярные темы недели на форуме

Топик		Сообщений	Просмотров
25 (Learn) 6 20
176 (SELECT) 4 6
40 (Learn) 4 12
39 (Learn) 3 9
24 (Learn) 3 14

§ Авторы недели на форуме

Автор		Сообщений
selber 9
pegoopik 5
ШРВ 4
Marat Saif2 4
Gouja 2

Продолжить чтение "Новости за 2025-04-05 - 2025-04-11"

Фильтрованные индекс в SQL Server: основы

Пересказ статьи Simon Liew. SQL Server Filtered Index Essentials Guide


Фильтрованные индексы могут значительно повысить производительность запроса, но простые ошибки могут помешать их использованию. Мы поможем вам понять, как использовать фильтрованные индексы SQL Server и выявить запросы, которые могут получить от этого преимущество, которого они не имели.

Фильтрованные индексы - это обычные некластеризованные индексы, которые содержат только подмножество данных (фильтрованные данные). Фильтрованные индексы особенно полезны для узкого покрытия запроса, который требует быстрого извлечения и высокой доступности.

Ключом для правильного использования оптимизатором SQL Server фильтрованных индексов является:

  1. Убедиться, то предикат (предикаты) запроса эквивалентны выражению фильтрованного индекса. Иногда предикат не должен точно совпадать с выражением, и оптимизатор SQL Server может определить это. Однако чем проще, тем лучше.

  2. Предикат ((предикаты) запроса на столбце (столбцах) фильтрованного индекса не параметризуются или не используют присвоение переменной.
Продолжить чтение "Фильтрованные индекс в SQL Server: основы"

Функция date_trunc в PostgreSQL

Пересказ статьи Peyman. date_trunc function in PostgreSQL


Недавно мне потребовалось написать запрос SQL для получения множества данных из большой таблицы за конкретный интервал времени. Я не знаю, есть ли более простой способ в SQL, чтобы сделать это, я же обнаружил в PostgreSQL функцию date_trunc, которая является отличным решением моей проблемы.

Проблема на примере

Рассмотрим следующую таблицу.



И мы хотим получить по одной строке в час (или последнюю цену для каждого часа) для полета AB12. Вывод должен выглядеть примерно так.


Продолжить чтение "Функция date_trunc в PostgreSQL"

Новости за 2025-03-29 - 2025-04-04

§ Проверка задачи 96 (SELECT, обуч. этап) усилена данными от pegoopik


§ Популярные темы недели на форуме

Топик		Сообщений	Просмотров
127 (SELECT) 11 5
40 (Learn) 5 15
96 (Learn) 3 7
97 (SELECT) 3 5
239 (SELECT) 2 4

§ Авторы недели на форуме

Автор		Сообщений
pegoopik 7
selber 5
zigmund1 5
Продолжить чтение "Новости за 2025-03-29 - 2025-04-04"

Обобщенный инвертированный индекс в PostgreSQL

Пересказ статьи Yash Marathe. Generalized Inverted Index in PostgreSQL


Исследование достоинств и недостатков GIN-индексов в PostgreSQL

Содержание

  1. Мотивация

  2. Введение

  3. GIN-индексирование изнутри

  4. Практический пример

  5. Уроки индекса GIN Trigram GitLab

  6. Заключение

  7. Ссылки

Продолжить чтение "Обобщенный инвертированный индекс в PostgreSQL"

PostgreSQL - имеющиеся альтернативы команде DESCRIBE в MySQL

Пересказ статьи DbVisualizer. PostgreSQL — effective Alternatives to the MySQL ‘DESCRIBE’ Command


В PostgreSQL, в отличие от MySQL, отсутствует оператор DESCRIBE для просмотра структуры таблицы. Эта статья дает краткий обзор альтернативных средств, доступных в PostgreSQL для описания структуры таблиц, подобного команде DESCRIBE в MySQL.

Есть несколько разных способов получить в PostgreSQL результаты, аналогичные команде DESCRIBE.
Продолжить чтение "PostgreSQL - имеющиеся альтернативы команде DESCRIBE в MySQL"

Новости за 2025-03-22 - 2025-03-28

§ Популярные темы недели на форуме

Топик		Сообщений	Просмотров
46 (Learn) 2 11
89 (Learn) 2 8

§ Авторы недели на форуме

Автор		Сообщений
Nividimka 2
lutik 2

§ Лидеры недели

	Участник		w_sel	all_sel	select	dml	Всего	Рейтинг
Bulyakarov S. (Sa1avat) 6 98 13 0 13 257
Ghitinomagomedov (gmansur88) 7 18 9 0 9 4417
Абрамова Ю. (GalaxyTears) 3 25 7 0 7 2599
Саркисьян Г. (gennadi_s) 3 173 6 0 6 32
Suprun D. (TimonSP) 2 160 4 12 16 75
Макаров И.А. (_Bkmz_) 2 157 4 7 11 93
Главинский А. (LaHaWor) 3 4 4 0 4 2850

Продолжить чтение "Новости за 2025-03-22 - 2025-03-28"

Шпаргалка по правильному написанию запросов к SQL Server: условное соединение и предложение WHERE

Пересказ статьи Erik Darling. The How To Write SQL Server Queries Correctly Cheat Sheet Conditional Join and Where Clauses


Так или иначе


Оператор OR вполне легитимно может использоваться в операторах SQL. Если вы используете предложение IN, велика вероятность, что оптимизатор преобразует его в последовательность операторов OR.

Например, IN(1, 2, 3) может в результате стать = 1 OR = 2 OR = 3 без вашего участия. Оптимизаторы так забавляются. Забавные маленькие кролики.

Проблема обычно возникает не тогда, когда вы пишете в запросе IN или OR для одного столбца со списком литеральных значений, а когда вы:

  • Используете OR по множеству столбцов в предложении WHERE.

  • Используете OR в предложении JOIN любого сорта.

  • Используете OR для обработки параметров или переменных NULL.

Добавьте немного сложности, объединив две таблицы и попросив что-то вроде: Продолжить чтение "Шпаргалка по правильному написанию запросов к SQL Server: условное соединение и предложение WHERE"

Раскройте силу обновляемых представлений в SQL Server

Пересказ статьи Prakash K. Unlocking Power with Updatable Views in SQL Server


Реляционные системы управления базами данных (РСУБД) основаны на структурированном языке запросов (SQL) в плане управления и манипуляции данными. Представления в SQL Server предоставляют эффективный способ абстрагироваться от лежащих в основании сложных структур данных. В то время как многие представления доступны только на чтение, обновляемые представления открывают дверь к динамической манипуляции данными с помощью операций INSERT, UPDATE и DELETE. В этом руководстве мы познакомимся с понятием обновляемых представлений в SQL Server, исследуем операции с ними и дадим полезный пример.

Понятие обновляемого представления


Обновляемое представление в SQL Server - это представление, которое допускает модификацию, т.е. применение таких операторов, как INSERT, UPDATE или DELETE к таблицам через представление. Чтобы сделать представление обновляемым, оно должно удовлетворять нижеприведенным критериям.
Продолжить чтение "Раскройте силу обновляемых представлений в SQL Server"
Категории: T-SQL

Новости за 2025-03-15 - 2025-03-21

§ Популярные темы недели на форуме

Топик		Сообщений	Просмотров
89 (SELECT) 6 6
31 (DML) 5 7
780 (SELECT) 2 10

§ Авторы недели на форуме

Автор		Сообщений
JavidanLi 7
_Bkmz_ 4
qwrqwr 3
selber 2
Sa1avat 2
Продолжить чтение "Новости за 2025-03-15 - 2025-03-21"

GENERATE_SERIES в SQL Server

В SQL Server 2022 появилась функция генерации числовой последовательности, GENERATE_SERIES. Подобная функция имеется в некоторых других СУБД, в частности, в PostgreSQL. Вот, например, как с помощью этой функции решалась следующая задача из учебника.

Вывести последовательность дат между датами первого и последнего полета пассажира с id_psg = 5.

Решение:

SELECT generate_series(MIN(date), MAX(date), '1 day')
FROM pass_in_trip
WHERE id_psg = 5;

Продолжить чтение "GENERATE_SERIES в SQL Server"
Категории: T-SQL

LATERAL как расширенная функция SQL

Пересказ статьи Yasin Sari. LATERAL as an Advanced SQL Feature



Я всегда представляю себе аналитика данных человеком, который имеет правильный инструмент для решения реальных проблем, во многом подобный швейцарскому армейскому ножу. Lateral - это одна из функций стандарта ANSI SQL, которая вам может пригодиться в некоторых случаях, поскольку она помогает легко решать проблемы. Я хочу продемонстрировать ее на нескольких примерах, чтобы показать, как она может улучшить анализ данных, обеспечив большую гибкость, скорость, сократить время и так далее.

Тематика


  • SQL

  • PIVOT

  • PostgreSQL

  • LATERAL JOIN

  • Коррелирующие подзапросы


Продолжить чтение "LATERAL как расширенная функция SQL"

Новости за 2025-03-08 - 2025-03-14

§ Популярные темы недели на форуме

Топик		Сообщений	Просмотров
190 (Learn) 3 4
126 (SELECT) 3 6

§ Авторы недели на форуме

Автор		Сообщений
JavidanLi 6
lutik 5
Nitrinos 2
selber 2
zigmund1 2
Продолжить чтение "Новости за 2025-03-08 - 2025-03-14"

Освоение операций FastAPI CRUD с помощью Async SqlAlchemy и PostgreSQL

Пересказ статьи MyFaduGame. Mastering FastAPI CRUD Operations with Async SqlAlchemy and PostgreSQL


В этом подробном руководстве мы познакомимся с построением надежных операций CRUD (Create, Read, Update, Delete) с помощью FastAPI, используя мощь Async SqlAlchemy и интеграцию с PostgreSQL для высокопроизводительного асинхронного взаимодействия с базой данных.

Мы разделим наш проект Fruit Full на несколько этапов:

  1. Введение в FastAPI и Async SqlAlchemy: Мы начнем с введения в FastAPI, современный, высокопроизводительный фреймворк Python для построения API, и Async SqlAlchemy, асинхронную версию SqlAlchemy, которая допускает неблокирующие операции с базой данных.

  2. Установка проекта: Мы проведем вас через установку проекта FastAPI с помощью SqlAlchemy и PostgreSQL. Это включает создание модели, конфигурирование соединения с базой данных и определение асинхронных операций CRUD.

  3. Асинхронные операции CRUD: Изучение выполнения асинхронных операций CRUD, используя FastAPI и Async SqlAlchemy. Мы обсудим асинхронное создание, чтение, обновление и удаление записей в базе данных.

  4. Обработка связей: Изучение асинхронной обработки связей между таблицами базы данных с использованием Async SqlAlchemy. Мы обсудим подробно связи один-к-одному, один-ко-многим и многие-ко-многим.

  5. Обработка ошибок и проверка: Изучение методов обработки ошибок и проверки данных в FastAPI, гарантирующих целостность и безопасность ваших конечных точек API. Мы обсудим проверку входа, ответы об ошибках и обработку исключений.


Продолжить чтение "Освоение операций FastAPI CRUD с помощью Async SqlAlchemy и PostgreSQL"