Il corso Advanced T-SQL è un percorso avanzato dedicato a sviluppatori, Database Administrator, Data Engineer e professionisti IT che desiderano approfondire l'utilizzo di Transact-SQL per sviluppare query complesse, procedure, logiche di elaborazione dati e soluzioni robuste in ambiente Microsoft SQL Server e Azure SQL.
Il corso parte dalle competenze SQL già acquisite e approfondisce le funzionalità avanzate di T-SQL utilizzate in scenari reali di sviluppo, analisi dati e gestione database: Common Table Expressions, funzioni finestra, ranking, query analitiche, subquery correlate, gestione avanzata delle aggregazioni, modifiche dati, stored procedure, transazioni ed error handling.
Particolare attenzione viene dedicata alle Window Functions, che permettono di eseguire calcoli analitici mantenendo il dettaglio delle righe, attraverso OVER, PARTITION BY, ORDER BY e frame di finestra. Queste funzionalità consentono di realizzare ranking, running total, confronti temporali e analisi delle righe precedenti o successive senza ricorrere a query eccessivamente complesse.
Il percorso affronta inoltre la programmazione T-SQL tramite variabili, blocchi condizionali, stored procedure e gestione strutturata delle transazioni, con utilizzo di BEGIN TRANSACTION, COMMIT, ROLLBACK, TRY...CATCH e THROW.
L'approccio didattico è fortemente operativo: i partecipanti lavorano su query e scenari aziendali progressivamente più complessi, imparando non solo a scrivere codice T-SQL avanzato, ma anche a renderlo più leggibile, manutenibile, sicuro ed efficiente.
Il corso è rivolto in particolare a:
- SQL Developer;
- Database Developer;
- Database Administrator;
- Data Engineer;
- BI Developer;
- Power BI Developer con conoscenze SQL;
- Data Analyst avanzati;
- Backend Developer;
- Application Developer;
- software developer che utilizzano SQL Server;
- consulenti database;
- tecnici applicativi;
- professionisti che sviluppano soluzioni su Microsoft SQL Server o Azure SQL;
- utenti che hanno già frequentato un corso SQL/T-SQL Fundamentals;
- professionisti che desiderano approfondire programmazione e query avanzate T-SQL.
Al termine del corso i partecipanti saranno in grado di:
- costruire query T-SQL complesse;
- utilizzare Common Table Expressions;
- utilizzare CTE ricorsive;
- utilizzare funzioni finestra;
- applicare
OVER, PARTITION BY e ORDER BY;
- creare ranking con
ROW_NUMBER, RANK e DENSE_RANK;
- utilizzare
LAG e LEAD;
- creare running total e aggregazioni cumulative;
- utilizzare frame
ROWS e RANGE;
- scrivere subquery avanzate e correlate;
- utilizzare
APPLY;
- combinare result set complessi;
- utilizzare
CASE in scenari articolati;
- utilizzare
PIVOT e UNPIVOT;
- eseguire operazioni avanzate di modifica dei dati;
- utilizzare
OUTPUT;
- creare stored procedure parametrizzate;
- utilizzare variabili e controllo del flusso;
- gestire transazioni esplicite;
- utilizzare
COMMIT e ROLLBACK;
- implementare
TRY...CATCH;
- utilizzare
THROW;
- progettare codice T-SQL più robusto e manutenibile;
- individuare alcune cause comuni di inefficienza nelle query;
- applicare buone pratiche di sviluppo T-SQL.
Modulo 1 – Advanced Querying
CTE e query avanzate
Subquery, APPLY e logica condizionale
Modulo 2 – Window Functions & Analytical Queries
- OVER, PARTITION BY e ranking
- LAG, LEAD e calcoli analitici
- Running Total e Window Frames
Modulo 3 – Advanced Data Manipulation
- PIVOT, UNPIVOT e trasformazioni
- INSERT, UPDATE, DELETE, MERGE e OUTPUT
Modulo 4 – T-SQL Programming
- Variabili e controllo del flusso
- Stored Procedure
Modulo 5 – Transactions & Error Handling
- Transazioni T-SQL
- TRY...CATCH e gestione degli errori
Modulo 6 – Advanced T-SQL Best Practices
- Query quality, performance e Project Work
Il corso utilizza una metodologia avanzata e fortemente laboratoriale, orientata allo sviluppo di query T-SQL applicabili a contesti reali.
Il modello utilizzato è:
Concetto → Sintassi → Dimostrazione → Problema → Query → Laboratorio → Verifica
Il docente deve privilegiare la comprensione della logica rispetto alla semplice memorizzazione della sintassi.
La metodologia comprende:
- spiegazioni tecniche;
- live coding;
- query guidate;
- debugging;
- esercitazioni progressive;
- analisi di soluzioni alternative;
- laboratori;
- casi aziendali;
- project work finale.
Distribuzione consigliata:
30% teoria – 70% pratica e laboratorio
- Database didattico avanzato
- Dataset
- Script base
- Query Lab
- Script soluzioni
- Slide
- T-SQL Quick Reference
- Project Work
È richiesta una buona conoscenza di SQL e T-SQL.
In particolare il partecipante deve conoscere:
- SELECT;
- FROM;
- WHERE;
- ORDER BY;
- JOIN;
- INNER JOIN;
- LEFT JOIN;
- GROUP BY;
- HAVING;
- COUNT;
- SUM;
- AVG;
- CASE;
- subquery semplici;
- INSERT;
- UPDATE;
- DELETE;
- tipi di dato SQL.
È inoltre consigliata esperienza con:
- Microsoft SQL Server;
- SQL Server Management Studio;
- database relazionali.
È fortemente consigliato aver frequentato un corso equivalente a SQL e T-SQL Fundamentals oppure possedere competenze equivalenti.
Verifica dell’apprendimento
- valutazione degli elaborati prodotti
- test finale
- eventuale project work
Attestato
Al termine del corso verrà rilasciato un attestato di frequenza se questa sia >=80% delle ore, oppure su richiesta un attestato di frequenza "positiva" cioè rafforzato dall'esito positivo del test finale.