Как стать автором
Обновить

Как с помощью ChatGPT писать SQL-запросы. Несколько кейсов

Время на прочтение6 мин
Количество просмотров12K
Всего голосов 13: ↑10 и ↓3+13
Комментарии11

Комментарии 11

Насколько разные по длине код получается при одинаковом запросе между версиями 3.5 и 4 ?

Пока писали материал, заметили, что в примере CROSS JOIN основное отличие заключается в столбцах и наличии ORDER BY в запросе от ChatGPT-4 для сортировки набора результатов. То есть, у ChatGPT-3 более короткий результат, а у ChatGPT-4 более информативный, он помогает чуть лучше сортировать и далее анализировать данные.

В SELF JOIN четвёртая версия определяет отношения начальник-подчиненный, используя иерархию OrganizationNode и функцию GetAncestor(1). Ещё есть дополнительные столбцы и тоже ORDER BY для сортировки результатов по SupervisorID и SubordinateID.

Виден запрос у бота про "Гнев офисе", как это знакомо:)

а писать SQL запросы вручную уже сложно ?

Короткие и простые - нет, не сложно.

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

Из статьи я понял, что пока от ChatGPT в области SQL реальной пользы никакой нет.

Последние 20+ лет я даю кандидатам такие (в числе прочих) задачки по SQL:

Задание 1
Дана таблица Life, содержащая сведения о конфигурациях игры «Жизнь» Конвея на бесконечной плоскости, со структурой:

x – номер столбца (координата клетки по горизонтали);

y – номер строки (координата клетки по вертикали);

gen – номер поколения.

Тип всех полей – целые числа. Если в клетке с координатами x и y в поколении с номером gen существует жизнь, то в таблице Life существует запись {x, y, gen}. Клетки, в которых жизни нет, в таблице не отражены.

Написать команду INSERT (1 штука), которая выполнит следующее:

1) Определит максимальный номер поколения жизни в таблице Life;

2) Вставит в таблицу Life записи, описывающие следующее за найденным на 1 шаге поколение жизни.

Использовать хранимые процедуры нельзя. Задача на понимание декларативных возможностей SQL

Задание 2

аналог задания №1 со следующим изменением: поверхность, на которой развивается жизнь, является не бесконечной плоскостью, а обладает топологией тора с размерами TorX и TorY

Сообщите пожалуйста, когда ChatGPT сможет написать запрос по этому описанию, начну беспокоиться.

Как задачки в вакууме - достаточно любопытно звучит, но не могу не поинтересоваться: насколько это похоже на те задачки, которые будет делать кандидат после устройства к вам на работу? Без иронии спрашиваю, вдруг у вас картографический сервис, сетевые игры с пространством на торе, хранящемся в БД, или ещё что-то столь же любопытное.

Непохоже нисколько, разумеется. Всего лишь тест на гибкость мозга.

Тоже мне, новости. Я уже как пол-года являюсь главным знатоком по restlest в Netsuite в компании, при том что ни разу их не писал.

Как бы то ни было, могу сказать, что для написания кода 3.5 не очень хорош. А вот 4 делает это как раз. Особенно если код тупой и простой. Я очень часто делаю большое количество рефакторинга с помощью четвёрки

Зарегистрируйтесь на Хабре, чтобы оставить комментарий