Поделиться через


Быстрый старт: Использование конструктора интеллектуальных запросов

В этом кратком руководстве вы узнаете, как помощник по созданию запросов помогает создавать эффективные, точные и безопасные запросы с помощью необработанного SQL или предпочтительного ORM. Разработан как для разработчиков кода, так и для разработчиков данных, он обеспечивает более быстрое создание логики, готовой к работе с схемой подключенной базы данных.

Начало работы

Убедитесь, что вы подключены к базе данных и открываете активное окно редактора с расширением MSSQL. Это подключение позволяет участнику чата @mssql понять контекст вашей среды базы данных, обеспечивая точные предложения с учетом контекста. Без подключения к базе данных участник чата не будет иметь контекст схемы или данных для предоставления значимых ответов.

В следующих примерах используется образец базы данных AdventureWorksLT2022, доступный для загрузки на домашней странице проектов сообщества и примеров Microsoft SQL Server.

Для получения наилучших результатов настройте имена таблиц и схем в соответствии с собственной средой.

Убедитесь, что чат включает @mssql префикс. Например, введите @mssql, а затем ваш вопрос или запрос. Это гарантирует, что участник чата понимает, что вы запрашиваете помощь, связанную с SQL.

Создание запросов

GitHub Copilot поддерживает интеллектуальное построение запросов непосредственно в Visual Studio Code. От операторов SELECT до сложных соединений, фильтров и агрегаций он создает запросы SQL или ORM, которые соответствуют лучшим практикам и отражают текущую схему, позволяя вам сосредоточиться на логике приложения.

Ниже приведены распространенные варианты использования и примеры того, что можно спросить через участника чата:

Анализ на основе времени

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

Предоставить список заказов с объёмом продаж выше среднего за последние шесть месяцев

Generate a nested query to fetch orders from `SalesLT.SalesOrderHeader` where the total is above the average order amount for the last six months, relative to the most recent order date in the database (not relative to the current date).

Вывести топ-3 клиентов, сгруппированных по году

Write a query to find the top three customers by total sales in the `SalesLT.SalesOrderHeader` table, grouped by year.

Возврат общего дохода на каждого клиента за последние 30 дней

Find the total revenue for each customer in `SalesLT.Customer` who has placed orders in the last 30 days, relative to the most recent order date in `SalesLT.SalesOrderHeader` (not relative to the current date).

Возврат клиентов и заказов в прошлом году

Create a Sequelize query to fetch `Customers` (`SalesLT.Customers`) along with their orders (`SalesLT.SalesOrderDetail`) and total revenue, sorted by descending revenue during the last year in the database (not relative to the current date).

Сложные связи

Используйте эти запросы для создания запросов, охватывающих несколько связанных таблиц. Независимо от того, объединяете ли вы данные клиента со сведениями о заказе или создаете агрегаты доходов, GitHub Copilot помогает ориентироваться в сложных связях, используя контекст схемы для получения точных соединений и условий.

Возврат списка заказов с общей суммой выше среднего уровня

Using the actual schema of the `SalesLT.SalesOrderHeader` table, generate a nested SQL query that retrieves orders where the order total is above the average order total for the last six months. The six-month period should be calculated relative to the most recent order date in the table (not the current date).

Возвращающиеся клиенты, упорядоченные по выручке

Using my current database, create a SQLAlchemy query to fetch customers along with their orders and total revenue, sorted by descending revenue.

Создание запроса на общий доход для каждого клиента

Using Prisma, generate a query that joins `SalesLT.Customer`, `SalesLT.SalesOrderHeader`, and `SalesLT.SalesOrderDetail` and calculates total revenue per customer.

Вернуть десять лучших клиентов по объемам продаж

In Entity Framework, write a LINQ query that returns the top 10 customers by sales in the past year using the `SalesLT` schema.

Возврат непроданных товаров в зависимости от недавних продаж

Write a TypeORM query that finds products that haven't been sold in the last six months. The six-month period should be calculated relative to the most recent order date in the table (not the current date).

Извлечение данных о клиентах на основе общего объема затрат

Write a Django ORM query that retrieves all customers who have made purchases in the last year, sorted by total spending. The "last year" period should be calculated relative to the most recent order date in the table (not the current date).

Бизнес-аналитика

Эти запросы предназначены для получения практических и ценных сведений из ваших данных. От выявления клиентов с риском оттока до поиска непроданных товаров, GitHub Copilot может помочь построить логику, которая поддерживает стратегические решения и отчеты, приспособленные к подключенной базе данных.

Определение новых клиентов

Using my current database, generate a list that shows which customers have placed their first order in the last six months, using the most recent order date in the database as the reference point.

Определение продуктов без последних продаж

Using my current database, generate a list that identifies products that haven't been sold in the last 12 months, using the most recent order date in the database as the reference.

Определение высокоценных клиентов без последних покупок

Identify customers who have placed more than five orders but none in the last 90 days, using the most recent order date in the database as reference.

Возвращает первые пять продуктов на основе скорости возврата

List the top five products with the highest return rate based on order returns or cancellations, calculated relative to the most recent order date.

Создание ежемесячных данных тренда выручки

Generate a trend of monthly revenue over the last 12 months based on `OrderDate` in `SalesLT.SalesOrderHeader`, using the most recent order date as the anchor.

Создание отчета об уменьшении частоты заказа

Using SQLAlchemy and Pandas, create a report that identifies customers with declining order frequency over the last three quarters based on the most recent order date.

Оставьте свой отзыв

Чтобы помочь нам уточнить и улучшить GitHub Copilot для расширения MSSQL, используйте следующий шаблон проблемы GitHub для отправки отзывов: GitHub Copilot Feedback

При отправке отзывов рассмотрите возможность включения:

  • Сценарии, проверенные . Сообщите нам, какие области вы сосредоточены, например создание схемы, создание запросов, безопасность, локализация.

  • То, что работало хорошо – Опишите любые ситуации, которые казались бесперебойными, полезными или превысили ваши ожидания.

  • Проблемы или ошибки — включает любые проблемы, несоответствия или запутанное поведение. Снимки экрана или записи экрана особенно полезны.

  • Предложения по улучшению — предоставление общих идей для улучшения удобства использования, расширения охвата или повышения ответов GitHub Copilot.