Torna all'elenco degli articoli Articoli
Tempo di lettura: 4 minuti

Qual è la differenza tra SQL e T-SQL?

Se state iniziando a imparare SQL e siete confusi dalle differenze tra SQL standard e altri linguaggi simili come T-SQL, questo articolo vi aiuterà a fare chiarezza. Non solo imparerete la differenza tra SQL e T-SQL, ma troverete anche spiegazioni su quali argomenti sia meglio iniziare a studiare per primi: SQL standard o qualcosa di più specifico come MS SQL Server.

Che cos'è l'SQL standard?

L'SQL (Structured Query Language) è un linguaggio di programmazione standard ANSI/ISO progettato per operare sui dati memorizzati nei database relazionali. Grazie a questi standard internazionali, i sistemi di database relazionali che implementano questo linguaggio consentono di scrivere query simili nella maggior parte dei sistemi. È possibile selezionare dati, manipolarli, creare oggetti, gestire utenti e gestire database. I fornitori di sistemi di gestione di database supportano la maggior parte delle caratteristiche degli standard ANSI/ISO SQL, tuttavia le aziende includono anche le proprie caratteristiche non standard che estendono il linguaggio. L'apprendimento del cosiddetto SQL standard è fondamentale per l'apprendimento di altre estensioni del linguaggio, come T-SQL, perché queste estensioni implementano la maggior parte delle funzionalità SQL di base. Ad esempio, non c'è differenza tra SQL e T-SQL per quanto riguarda le clausole LIKE. Imparando l'SQL standard sarete in grado di operare sui dati della maggior parte dei sistemi di database.

Che cos'è il T-SQL?

Dal momento che esiste già l'SQL standard supportato dai fornitori di database relazionali, a cosa serve il T-SQL? È necessario imparare il T-SQL? Qual è la differenza tra SQL e T-SQL?

Anche se quasi tutti i sistemi di database relazionali utilizzano l'SQL standard, quasi tutti includono anche estensioni non standard del linguaggio. L'implementazione specifica di SQL utilizzata nel sistema di database Microsoft SQL Server è chiamata linguaggio Transact-SQL, o T-SQL in breve. T-SQL ha più caratteristiche e più funzioni di quelle specificate nello standard SQL. L'SQL è quasi un sottoinsieme del T-SQL, quindi se si conosce il T-SQL, si conosce anche l'SQL standard, perché contiene quasi tutte le funzioni dell'SQL standard. La differenza tra SQL e T-SQL è che quest'ultimo ha un maggior numero di funzioni destinate ad aiutare l'utente a rendere la scrittura delle query più semplice, rapida ed efficiente. Quindi, se si lavora in MS SQL Serve, si usa T-SQL.

T-SQL vs. SQL standard: qual è la differenza?

In altri sistemi di database relazionali i nomi delle estensioni e delle funzionalità aggiuntive sono diversi. Ad esempio, Oracle ha il linguaggio PL/SQL e PostgreSQL implementa PL/pgSQL.

Attualmente non esiste un'implementazione di SQL che includa il 100% delle funzionalità di SQL standard, ma tutte le implementazioni disponibili includono la maggior parte delle funzionalità standard.

Guardate l'immagine qui sotto:

T-SQL vs. SQL standard: qual è la differenza?

Esempi di differenze tra T-SQL e SQL standard

La prima differenza tra SQL e T-SQL è la parola chiave TOP, utilizzata principalmente in un'istruzione SELECT. Indica quante righe devono essere restituite da una query in un set di risultati. TOP viene inserita dopo SELECT insieme al numero di righe da restituire. Ad esempio, la seguente query restituisce solo i primi 12 risultati:

SELECT TOP 12 Id, Name, Description  
FROM Products ORDER BY Name;

Questa clausola non è presente nell'SQL standard, ma è disponibile solo in MS SQL Server. Per ulteriori informazioni su come e quando utilizzare l'istruzione TOP in MS SQL Server, consultare il corso "SQL Basics in MS SQL Server".

Un'altra differenza tra SQL e T-SQL riguarda la sintassi della funzione SUBSTRING, utilizzata per tagliare una sottostringa da una stringa in ingresso. In SQL standard la sintassi di questa funzione è:

SUBSTRING(str FROM start [FOR len])

In MS SQL Server la sintassi della funzione è:

SUBSTRING(str, start, len)

In queste funzioni, str è una stringa data da cercare, start è il numero iniziale di un carattere (il primo è 1) in una stringa da cui la funzione inizierà la ricerca, e len è la lunghezza della stringa da restituire.

Questi sono solo due esempi delle differenze tra SQL standard e T-SQL, ma è possibile saperne di più in questo corso "SQL Basics in MS SQL Server" e in questo corso "SQL Basics".

Qual è il metodo migliore per iniziare a imparare: SQL standard o T-SQL?

LearnSQL.it offre due corsi per principianti: "SQL Basics" e "SQL Basics in MS SQL Server". Potreste essere confusi su quale scegliere per primo. Se volete imparare un linguaggio per comunicare con qualsiasi database relazionale, scegliete il corso "SQL Basics", dove imparerete l'SQL standard. Il materiale appreso sarà universale e vi darà la possibilità di utilizzare diversi sistemi di gestione di database relazionali (RDBMS). Se, invece, desiderate acquisire conoscenze sul T-SQL in particolare, perché avete intenzione di lavorare con il sistema MS SQL Server, è bene iniziare con il corso "SQL Basics in MS SQL Server" per imparare il Transact-SQL in dettaglio.

Sintesi

La scelta se iniziare ad apprendere l'SQL standard, il T-SQL o qualsiasi altra variante, dipende soprattutto dal fatto che si sa che si utilizzerà un particolare sistema di database. Iniziate uno di questi corsi da LearnSQL.it oggi stesso e sarete in grado di scrivere query SQL per dare un senso ai vostri dati.