ChatGPT может отвечать на вопросы о синтаксисе SQL, генерировать SQL-запросы или объяснять результат выполнения заданного запроса. C этим инструментом вы ускорите свою работу и сможете сосредоточиться на задачах более высокого уровня, таких как разработка отчетов и потоков данных. Это не только сэкономит время, но и сделает анализ данных качественнее и эффективнее.

Преимущества ChatGPT для создания SQL-запросов

ChatGPT — полезный инструмент как для начинающих, так и для опытных разработчиков.

Новичкам синтаксис SQL может показаться сложным для запоминания. ChatGPT превратит запросы на естественном языке в SQL-запросы. Благодаря этому изучение SQL станет более интерактивным. Вы сразу увидите перевод обычного языка в SQL.

Даже у опытных разработчиков составление сложных SQL-запросов, включающих множество таблиц и условий, может отнимать много времени. ChatGPT ускорит этот процесс. Он сгенерирует скелеты запросов или полные запросы на основе задачи, описанной на естественном языке.

ИИ снижает вероятность синтаксических ошибок. ChatGPT поможет в отладке SQL-запросов, предоставляя возможные решения или объяснения. Кроме того, он может предложить различные способы оптимизации запроса для повышения производительности.

ОНЛАЙН-ПРАКТИКУМ
КАК «ХАКНУТЬ» PYTHON С ПОМОЩЬЮ CHATGPT
ЧТО БУДЕТ НА ОБУЧЕНИИ?
  • Прямо в эфире решим типичные задачи программиста только с помощью ChatGPT
  • Возможности Python — расскажем что можно делать и сколько на этом зарабатывать?
  • Что ждет рынок программирования и почему мы решили сюда пойти

Как запускать сеансы ChatGPT для SQL-запросов

Производители баз данных расширили стандартный код SQL собственным синтаксисом. Например, Microsoft используют Transact-SQL (сокращенно T-SQL), чтобы взаимодействовать с экземпляром Microsoft SQL Server. Синтаксис T-SQL не будет работать с другими типами баз данных SQL, такими как MySQL или PostgreSQL.

PostgreSQL — это расширение с открытым исходным кодом. Его дополнительные команды и синтаксис не будут работать на SQL Server или Oracle. Это означает, что когда вы просите ChatGTP предоставить SQL-запрос с использованием расширенных возможностей системы баз данных, вы должны начать сеанс чата с уточнения, какую реализацию SQL вы используете.

Вы можете начать сеанс с заявления: «Я работаю с Microsoft SQL Server» и задать свой вопрос в следующем предложении. Чтобы упростить задачу, можно использовать фразу: «С SQL Server, как мне …?», когда вы спрашиваете о концепции или термине.

Теперь сосредоточимся на стандартных SQL-запросах, которые работают во всех основных системах управления базами данных.

Как сформулировать свои цели в ChatGPT

Начните с описания структуры таблиц, чтобы у ChatGPT было понимание модели данных, с которой вы работаете. Упомяните имена и связи таблиц, а также столбцы и их типы данных. Например:

У меня есть две таблицы: заказы и клиенты. В таблице заказов есть столбцы id, customer_id, product и price. В таблице клиентов есть столбцы id, name и email. Customer_id в таблице заказов является внешним ключом, ссылающимся на столбец id в таблице клиентов.

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

Будьте максимально точны, чтобы помочь ChatGPT понять, что вы ищете. Например:

Напиши SQL-запрос, который определяет общий доход каждого клиента, вычисляя сумму цен его заказов.

ChatGPT возвращает SQL-запрос с разбивкой на различные части. Посмотрите на следующий пример оператора select:

ИИ сгенерировал SQL-запрос на основе названий таблиц и запроса, который вы указали. А также ИИ дополнительно подчеркнул несколько дополнительных моментов:

  • Когда лучше использовать LEFT JOIN.
  • Вы можете использовать ID вместо NAME, если имена клиентов не уникальны.

Формирование запросов на основе результатов запросов

Чтобы добиться лучших результатов запросов с помощью ChatGPT, можно разбить сложные запросы на более мелкие фрагменты. Так вы сохраните разговорный поток.

Например, предположим, что вам нужен более сложный запрос, который фильтрует клиентов на основе их города. Вы можете продолжить сеанс чата, предоставив эту новую информацию.

У меня есть еще одна таблица customer_address со столбцами id, customer_id, street, city, state. Customer_id является внешним ключом к таблице customer. Измени предыдущий SQL-запрос, чтобы отфильтровать клиентов из Чикаго.

ChatGPT возвращает измененный запрос с новым предложением WHERE.

4 практики генерации запросов

Вот несколько советов, которые помогут убедиться, что SQL-код, созданный ChatGPT, является правильным:

  • Уточняйте названия таблиц и столбцов, чтобы избежать двусмысленности.
  • Четко укажите условия, фильтры или требования к сортировке.
  • Укажите желаемый формат вывода, например столбцы или агрегаты.
  • При необходимости приведите примеры аналогичных сложных запросов.

Чем точнее будет ваше описание, тем лучше будет сгенерированный запрос.

2 способа оптимизации производительности

При использовании ChatGPT для создания SQL-запросов важно учитывать их производительность. Вот два способа оптимизации SQL-запросов для повышения производительности:

  • использовать соответствующие индексы
  • избегать слишком сложных SQL-запросов

Использование подходящих индексов

В некоторых расширениях SQL можно указать, что запрос должен использовать определенный индекс, однако это не считается хорошей практикой. Если схема базы данных или профиль данных со временем изменится, вы можете получить запрос, который будет вынужден использовать неэффективный индекс.

Однако вы можете обратиться в ChatGPT за советом по поводу оптимальных индексов для вашего запроса. Вот пример.

Я хочу создать один или несколько индексов, которые сделают этот запрос наиболее эффективным. Помоги с этим, пожалуйста.

ChatGPT порекомендует индексы и объяснит причины выбора.

Избегайте слишком сложных запросов

Одно из преимуществ построения запросов, как в предыдущем разделе — в том, что вы с меньшей вероятностью получите сложный запрос, который трудно читать и поддерживать.

Если ChatGPT выдает запрос с множеством трудно выполнимых подзапросов, попросите его предоставить альтернативный сценарий, который использует несколько запросов и одну или несколько временных таблиц.

Предположим, мы решили, что запрос с фильтрацией по «Чикаго» слишком сложен (это не так!). Лучше проинструктировать ChatGPT следующим образом:

Я хочу разбить предыдущий запрос на два отдельных запроса, использующих временную таблицу. Сценарий должен достичь тех же результатов.

ChatGPT отвечает:

Конечно, мы можем добиться тех же результатов, сначала создав временную таблицу для хранения общей выручки каждого клиента, а затем запросив эту временную таблицу для фильтрации клиентов из Чикаго.

Далее инструмент предоставляет два отдельных участка кода, которые приводят к тем же результатам, что и предыдущие примеры.

Как представить данные в ChatGPT

Если вы хотите отладить запросы, можете предоставить ChatGPT примерные данные и попросить его выполнить SQL.

В предыдущем разделе мы показали, как описывать таблицы и отношения. Вы также можете предоставить ChatGPT операторы CREATE TABLE.

Следующим шагом будет предоставление данных в обобщенном или табличном формате, чтобы помочь ChatGPT понять вашу базу данных и интерпретировать результаты.

Например, вы можете предоставить данные следующим образом.

Вот данные, содержащиеся в этих таблицах:

Customers

1, “John Smith”, “john@smith.com”

2, “Mary Doe”, “mary@doe.com”

Orders

1, 1, “Hoodie”, 14.99

2, 1, “T-Shirt”, 5.99

3, 2, “Jeans”, 24.99

Customer_Address

1, 1, “Hope Street”, “Chicago”, “Illinois”

2, 2, “Cherry Lane”, “Philadelphia”, “Pennsylvania”

Обратите внимание, что только Джон Смит живет в Чикаго. Предоставив данные, вы можете попросить ChatGPT выдать результат конкретного запроса.

Если вы попросили инструмент попробовать несколько вариантов в сессии, лучше скопировать и вставить именно тот запрос, который вы хотите «запустить», чтобы не было двусмысленности.

В качестве запроса введите следующее: «Предоставьте результат этого запроса:».

ChatGPT будет использовать этот запрос для расчета общей выручки от заказов Джона Смита. Вот пример:

Недостатки использования ChatGPT

Два основных недостатка, на которые следует обратить внимание:

  • неправильный синтаксис
  • неэффективные запросы

Неправильный синтаксис

Иногда ChatGPT генерирует SQL, который не компилируется или выдает неправильные результаты. Это более вероятно, если вы попросили его работать с собственными расширениями стандартного SQL.

Если вы оборачиваете сгенерированные запросы в хранимые процедуры, обязательно протестируйте их.

Неэффективные запросы

Когда вы хотите убедиться в эффективности SQL-запросов, вы изучаете план выполнения запроса. Это последовательность операций, выполняемых системой управления базой данных.

Проблема ChatGPT в том, что он не может увидеть, как система управления базой данных обрабатывает ваш SQL-запрос.

Например, фильтрует ли она клиентов по штату в первую очередь или выполняет эту часть в конце? Это решение может существенно повлиять на производительность.

Если вы заметили, что ваш запрос медленно выводит продукт, вам придется самостоятельно изучить план выполнения.

Заключение

Вы увидели реальные примеры использования ChatGPT для написания и изменения типичных SQL-запросов, используемых в бизнесе.

Важно отметить, что хотя инструмент искусственного интеллекта может заложить прочную основу и помочь в составлении SQL-запросов, он не заменит необходимости глубокого понимания SQL.

Однако при правильном использовании ChatGPT может стать неоценимым помощником для разработчиков SQL.

Нейросети для жизни и карьеры в 2025:
как использовать для успеха
Вы узнаете о том:
  • Как нейросети могут изменить вашу деятельность, от фриланса до управления бизнесом.
  • Как использовать GPT-агентов, цифровые двойники и другие ИИ-решения.
  • Важность безопасности в эпоху нейросетей.
  • Какие нейросети помогут вам и как на них зарабатывать.
  • 10 способов применения ИИ для бизнеса.
Участвовать бесплатно
Как «хакнуть» Python с помощью ChatGPT
и стать «программистом будущего»
Вы узнаете:
  • Как внедрение ИИ в бизнес-процессы помогает улучшить финансовые результаты компаний в 2025 году.
  • Мы асскажем, кто такой промпт-инжинер, чем он занимается и какие результаты можно ожидать от его работы.
  • Также обсудим, где найти промт-инжинера, сколько стоят его услуги в России и за рубежем, и кто может стать промпт-инженером.
Участвовать бесплатно