2009-08-19 10 views
35

So abbastanza di SQL per portare a termine il mio lavoro ma leggendo articoli diversi vedo T-SQL, SQL Server e SQL. Sono tutti uguali? Quali sono le principali differenze tra i tre?Quali sono le differenze tra T-SQL, SQL Server e SQL

So che SQL è uno standard ANSI. E gli altri due?

+1

TSQL è un sapore di SQL sviluppata da Microsoft che viene utilizzato per il loro prodotto DB - MS SQL Server. TSQL ha le sue estensioni (proprio come qualsiasi altro db vendor) diverso dall'SQL di base. Non sono sicuro se supporta completamente lo standard ANSI SQL. – shahkalpesh

+2

Niente supporta completamente lo standard ANSI SQL. –

+3

In realtà - T-SQL/Transact-SQL è stato sviluppato da Sybase per il proprio server di database, che Microsoft ha quindi concesso in licenza. –

risposta

69

SQL è lo standard ANSI di base per l'accesso ai dati in un database relazionale. Quando vedi "MSSQL" si riferisce a Microsoft SQL Server, che è l'intera architettura del database e non una lingua. T-SQL è la forma proprietaria di SQL utilizzata da Microsoft SQL Server. Include funzioni speciali come cast, convert, date(), ecc. Che non fanno parte dello standard ANSI.

Si vedrà anche cose come plsql, che è la versione di Oracle di SQL, e ci sono altri pure (mySQL ha la sua versione, per esempio, e Microsoft Access utilizza Jet SQL.)

E 'importante notare che lo standard ANSI per SQL ha versioni diverse (ad esempio, 92 o 99, che rappresentano l'anno in cui è stato rilasciato). Diversi motori di database si pubblicizzeranno come conformi "per lo più ANSI-92" o "completamente ANSI-99", ecc. E ogni eccezione verrà solitamente documentata.

Quindi, anche se "SQL è SQL", ogni motore utilizza il proprio "sapore" di esso, e si ha a che fare un po 'di lettura sulla piattaforma particolare prima che hai appena tuffo nel

Un ulteriore nota. - le estensioni SQL, come T-SQL, sono generalmente considerate linguaggi di programmazione completi, completi di loop, if/then, case statement, ecc. SQL stesso si limita semplicemente a interrogare e aggiornare i dati e non è considerato un vero linguaggio di programmazione.

Wikipedia ha un articolo decente per una panoramica su: http://en.wikipedia.org/wiki/SQL

+1

Chiarimento molto ben scritto. Grazie! –

+1

PL/SQL (non plSQL) è un linguaggio di programmazione in-database, non una "versione di SQL" (o anche un linguaggio di query). Modificherei questa risposta ma la domanda è chiusa comunque. –

6

T-SQL è una scorciatoia per Transact-SQL, che è il dialetto SQL di Microsoft, mentre MSSQL si riferisce in genere al motore di SQL Server.

+3

In realtà - T-SQL/Transact-SQL è stato sviluppato da Sybase per il proprio server di database, che Microsoft ha quindi concesso in licenza. –

+8

E l'Iraq faceva parte dell'impero ottomano. Eppure non lo sentiamo quando discutiamo della recente guerra ... che mi infastidisce sempre! –

10

Dipende in quale contesto vengono utilizzati questi termini.

Potrebbe significare esattamente lo stesso o avere un significato leggermente diverso in alcune situazioni.

  • T-SQL - dialetto del linguaggio SQL utilizzata in Microsoft SQL Server
  • MSSQL - Microsoft SQL Server software
  • SQL - Structured Query Language - a seconda del contesto potrebbe significare il linguaggio SQL per sé, database SQL o server di database SQL di qualsiasi tipo.
4

1.SQL è un linguaggio di programmazione mentre T-SQL è un'estensione di SQL.

2.T-SQL è proprietario mentre SQL è un formato aperto.

3.T-SQL contiene programmazione procedurale, variabile locale e così via, mentre SQL non lo fa.

4.T-SQL è completo di Turing mentre SQL non lo è.

5.T-SQL ha un'implementazione diversa di DELETE e UPDATE rispetto a SQL.

6.T-SQL è meglio se si utilizzano i server Microsoft SQL

2

differenza dell'impero ottomano, Sybase esiste ancora, e utilizza ancora Transact SQL. L'implementazione Sybase (ASE) non è esattamente la stessa di Microsoft.

Sybase TSQL Guide

Problemi correlati