Пересказ статьи 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"
§ Популярные темы недели на форуме
Топик Сообщений Просмотров
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"
Пересказ статьи Simon Liew. SQL Server Filtered Index Essentials Guide
Фильтрованные индексы могут значительно повысить производительность запроса, но простые ошибки могут помешать их использованию. Мы поможем вам понять, как использовать фильтрованные индексы SQL Server и выявить запросы, которые могут получить от этого преимущество, которого они не имели.
Фильтрованные индексы - это обычные некластеризованные индексы, которые содержат только подмножество данных (фильтрованные данные). Фильтрованные индексы особенно полезны для узкого покрытия запроса, который требует быстрого извлечения и высокой доступности.
Ключом для правильного использования оптимизатором SQL Server фильтрованных индексов является:
- Убедиться, то предикат (предикаты) запроса эквивалентны выражению фильтрованного индекса. Иногда предикат не должен точно совпадать с выражением, и оптимизатор SQL Server может определить это. Однако чем проще, тем лучше.
- Предикат ((предикаты) запроса на столбце (столбцах) фильтрованного индекса не параметризуются или не используют присвоение переменной.
Продолжить чтение "Фильтрованные индекс в SQL Server: основы"
Пересказ статьи Peyman. date_trunc function in PostgreSQL
Недавно мне потребовалось написать запрос SQL для получения множества данных из большой таблицы за конкретный интервал времени. Я не знаю, есть ли более простой способ в SQL, чтобы сделать это, я же обнаружил в PostgreSQL функцию date_trunc, которая является отличным решением моей проблемы.
Проблема на примере
Рассмотрим следующую таблицу.
И мы хотим получить по одной строке в час (или последнюю цену для каждого часа) для полета AB12. Вывод должен выглядеть примерно так.
Продолжить чтение "Функция date_trunc в PostgreSQL"
§ Проверка задачи 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"
Пересказ статьи Yash Marathe. Generalized Inverted Index in PostgreSQL
Исследование достоинств и недостатков GIN-индексов в PostgreSQL
Содержание
- Мотивация
- Введение
- GIN-индексирование изнутри
- Практический пример
- Уроки индекса GIN Trigram GitLab
- Заключение
- Ссылки
Продолжить чтение "Обобщенный инвертированный индекс в PostgreSQL"
Пересказ статьи DbVisualizer. PostgreSQL — effective Alternatives to the MySQL ‘DESCRIBE’ Command
В PostgreSQL, в отличие от MySQL, отсутствует оператор DESCRIBE для просмотра структуры таблицы. Эта статья дает краткий обзор альтернативных средств, доступных в PostgreSQL для описания структуры таблиц, подобного команде DESCRIBE в MySQL.
Есть несколько разных способов получить в PostgreSQL результаты, аналогичные команде DESCRIBE.
Продолжить чтение "PostgreSQL - имеющиеся альтернативы команде DESCRIBE в MySQL"
§ Популярные темы недели на форуме
Топик Сообщений Просмотров
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"
Пересказ статьи 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"
Пересказ статьи 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"
§ Популярные темы недели на форуме
Топик Сообщений Просмотров
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"
В 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"
Пересказ статьи Yasin Sari. LATERAL as an Advanced SQL Feature
Я всегда представляю себе аналитика данных человеком, который имеет правильный инструмент для решения реальных проблем, во многом подобный швейцарскому армейскому ножу. Lateral - это одна из функций стандарта ANSI SQL, которая вам может пригодиться в некоторых случаях, поскольку она помогает легко решать проблемы. Я хочу продемонстрировать ее на нескольких примерах, чтобы показать, как она может улучшить анализ данных, обеспечив большую гибкость, скорость, сократить время и так далее.
Тематика
- SQL
- PIVOT
- PostgreSQL
- LATERAL JOIN
- Коррелирующие подзапросы
Продолжить чтение "LATERAL как расширенная функция SQL"
§ Популярные темы недели на форуме
Топик Сообщений Просмотров
190 (Learn) 3 4
126 (SELECT) 3 6
§ Авторы недели на форуме
Автор Сообщений
JavidanLi 6
lutik 5
Nitrinos 2
selber 2
zigmund1 2
Продолжить чтение "Новости за 2025-03-08 - 2025-03-14"
Пересказ статьи MyFaduGame. Mastering FastAPI CRUD Operations with Async SqlAlchemy and PostgreSQL
В этом подробном руководстве мы познакомимся с построением надежных операций CRUD (Create, Read, Update, Delete) с помощью FastAPI, используя мощь Async SqlAlchemy и интеграцию с PostgreSQL для высокопроизводительного асинхронного взаимодействия с базой данных.
Мы разделим наш проект Fruit Full на несколько этапов:
- Введение в FastAPI и Async SqlAlchemy: Мы начнем с введения в FastAPI, современный, высокопроизводительный фреймворк Python для построения API, и Async SqlAlchemy, асинхронную версию SqlAlchemy, которая допускает неблокирующие операции с базой данных.
- Установка проекта: Мы проведем вас через установку проекта FastAPI с помощью SqlAlchemy и PostgreSQL. Это включает создание модели, конфигурирование соединения с базой данных и определение асинхронных операций CRUD.
- Асинхронные операции CRUD: Изучение выполнения асинхронных операций CRUD, используя FastAPI и Async SqlAlchemy. Мы обсудим асинхронное создание, чтение, обновление и удаление записей в базе данных.
- Обработка связей: Изучение асинхронной обработки связей между таблицами базы данных с использованием Async SqlAlchemy. Мы обсудим подробно связи один-к-одному, один-ко-многим и многие-ко-многим.
- Обработка ошибок и проверка: Изучение методов обработки ошибок и проверки данных в FastAPI, гарантирующих целостность и безопасность ваших конечных точек API. Мы обсудим проверку входа, ответы об ошибках и обработку исключений.
Продолжить чтение "Освоение операций FastAPI CRUD с помощью Async SqlAlchemy и PostgreSQL"