Condividi tramite


Guida introduttiva: Usare il generatore di query intelligenti

In questo argomento di avvio rapido si apprenderà come l'assistente alla compilazione di query consente di creare query efficienti, accurate e sicure usando SQL non elaborato o l'ORM preferito. Progettato sia per gli sviluppatori code-first che per i data-first, consente una generazione più rapida della logica pronta per la produzione allineata allo schema del database connesso.

Inizia subito

Assicurarsi di essere connessi a un database e di aprire una finestra dell'editor attivo con l'estensione MSSQL. Questa connessione consente al partecipante della @mssql chat di comprendere il contesto dell'ambiente di database, abilitando suggerimenti accurati e con riconoscimento del contesto. Senza una connessione al database, il partecipante della chat non avrà lo schema o il contesto dei dati per fornire risposte significative.

Gli esempi seguenti usano il AdventureWorksLT2022 database di esempio, che è possibile scaricare dalla home page degli esempi di Microsoft SQL Server e dei progetti della community .

Per ottenere risultati ottimali, modificare i nomi di tabella e schema in modo che corrispondano al proprio ambiente.

Assicurarsi che la chat includa il @mssql prefisso. Ad esempio, digitare @mssql seguito dalla domanda o dal prompt. Ciò garantisce che il partecipante della chat comprenda che si sta chiedendo assistenza correlata a SQL.

Compilazione di query

GitHub Copilot supporta la costruzione di query intelligenti direttamente in Visual Studio Code. Dalle selet di base ai join complessi, ai filtri e alle aggregazioni, genera query SQL o ORM che seguono le procedure consigliate e riflettono lo schema corrente, in modo da poter concentrarsi sulla logica dell'applicazione.

Di seguito sono riportati casi d'uso comuni ed esempi di ciò che è possibile chiedere tramite il partecipante alla chat:

Analisi basata sul tempo

Queste richieste consentono di analizzare le tendenze nel tempo, ad esempio le attività di vendita recenti, i migliori performer per periodo o i confronti con le medie cronologiche. GitHub Copilot può compilare query che calcolano i valori relativi alle date più recenti dei dati, evitando presupposti in base alla data di sistema corrente.

Elenco restituito degli ordini di vendita superiori alla media per gli ultimi sei mesi

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).

Restituire i primi tre clienti raggruppati per anno

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

Restituire i ricavi totali per cliente negli ultimi 30 giorni

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).

Restituire clienti e ordini nell'ultimo anno

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).

Relazioni complesse

Usare questi prompt per generare query che si estendono su più tabelle correlate. Indipendentemente dal fatto che stai unendo i dati dei clienti con i dettagli degli ordini o stai creando aggregazioni dei ricavi, GitHub Copilot consente di esplorare relazioni complesse utilizzando il contesto dello schema per produrre join e condizioni accurate.

Restituisce un elenco di ordini al di sopra del totale medio

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).

Restituire i clienti ordinati in base ai ricavi

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

Generare un'interrogazione per i ricavi totali per cliente

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

Restituire i primi dieci clienti in base alle vendite

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

Restituire i prodotti non venduti in relazione alle vendite recenti

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).

Recuperare i clienti in base alla spesa totale

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).

Informazioni dettagliate aziendali

Questi prompt sono progettati per estrarre informazioni approfondite e attuabili dai tuoi dati. Dall'identificazione dei clienti a rischio di varianza alla ricerca di prodotti non venduti, GitHub Copilot può aiutare a creare logica che supporti decisioni strategiche e report, su misura per il database connesso.

Identificare i nuovi clienti

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.

Identificare i prodotti senza vendite recenti

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.

Identificare i clienti di alto valore senza acquisti recenti

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.

Restituire i primi cinque prodotti in base al tasso di rendimento

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

Generare dati sulla tendenza dei ricavi mensili

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.

Creare un report sulla frequenza degli ordini in diminuzione

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.

Condividere la propria esperienza

Per ottimizzare e migliorare GitHub Copilot per l'estensione MSSQL, usare il modello di problema GitHub seguente per inviare commenti e suggerimenti: Commenti e suggerimenti su GitHub Copilot

Quando si inviano commenti e suggerimenti, è consigliabile includere:

  • Scenari testati: segnalare le aree su cui ci si è concentrati, ad esempio la creazione dello schema, la generazione di query, la sicurezza, la localizzazione.

  • Cosa ha funzionato bene : descrivere tutte le esperienze che si sono sentite fluide, utili o superate le aspettative.

  • Problemi o bug : includere eventuali problemi, incoerenze o comportamenti confusi. Screenshot o registrazioni dello schermo sono particolarmente utili.

  • Suggerimenti per il miglioramento : condividere idee per migliorare l'usabilità, espandere la copertura o migliorare le risposte di GitHub Copilot.