2009-08-19 19 views
35

Wiem wystarczająco dużo o SQL, aby wykonać swoją pracę, ale czytając różne artykuły widzę T-SQL, SQL Server i SQL. Czy wszystkie są takie same? Jakie są główne różnice między tymi trzema?Jakie są różnice między T-SQL, SQL Server i SQL

Wiem, że SQL jest standardem ANSI. A co z pozostałymi dwoma?

+1

TSQL jest smak SQL opracowany przez Microsoft, który jest używany do ich wyrobu DB - MS SQL Server. TSQL ma własne rozszerzenia (tak jak każdy inny dostawca baz danych) inne niż podstawowy kod SQL. Nie jestem jednak pewien, czy całkowicie obsługuje standard ANSI SQL. – shahkalpesh

+2

Nic nie obsługuje całkowicie standardu ANSI SQL. –

+3

W rzeczywistości - T-SQL/Transact-SQL został opracowany przez Sybase dla ich serwera baz danych, który Microsoft następnie licencjonowany. –

Odpowiedz

69

SQL jest podstawowym standardem ANSI dla dostępu do danych w relacyjnej bazie danych. Kiedy widzisz "MSSQL", odnosi się to do Microsoft SQL Server, który jest całą architekturą bazy danych, a nie językiem. T-SQL jest zastrzeżoną formą SQL używaną przez Microsoft SQL Server. Zawiera specjalne funkcje takie jak obsada, konwersja, data() itd., Które nie są częścią standardu ANSI.

Możesz również zobaczyć takie rzeczy jak plsql, które jest wersja Oracle SQL, i są inni, jak również (mySQL ma swoją własną wersję, na przykład, Microsoft Access używa Jet SQL.)

Ważne jest należy zauważyć, że standard ANSI dla SQL ma inne wydania (na przykład 92 lub 99, reprezentujące rok, w którym został wydany). Różne silniki baz danych będą się reklamować jako "zgodne w większości ANSI-92" lub "w pełni zgodne z ANSI-99", itp., A wszelkie wyjątki będą zwykle dokumentowane.

Więc choć „SQL jest SQL”, każdy silnik wykorzystuje swój własny „smak” z nim, a ty musisz zrobić trochę czytania na danej platformie, zanim po prostu nurkowania w

Kolejna uwaga. - rozszerzenia SQL, takie jak T-SQL, są na ogół uznawane za pełnoprawne języki programowania, z pętlami, jeśli/tak, instrukcji case itp. Sam SQL jest ograniczony do prostego wysyłania zapytań i aktualizowania danych i nie jest uważany za prawdziwy język programowania.

Wikipedia ma godnej artykule przegląd tutaj: http://en.wikipedia.org/wiki/SQL

+1

Bardzo dobrze napisane wyjaśnienie. Dziękuję Ci! –

+1

PL/SQL (nie plSQL) to język programowania w bazie danych, a nie "wersja SQL" (lub nawet język zapytań). Edytowałbym tę odpowiedź, ale pytanie i tak jest zamknięte. –

6

T-SQL jest skrótem dla języka Transact-SQL, który jest dialektem języka Microsoft SQL, podczas gdy MSSQL zwykle odnosi się do samego silnika SQL Server.

+3

W rzeczywistości - T-SQL/Transact-SQL został opracowany przez Sybase dla ich serwera baz danych, który Microsoft następnie licencjonowany. –

+8

A Irak był częścią Imperium Osmańskiego. Jednak nie słyszymy o tym, kiedy rozmawiamy o niedawnej wojnie ... która zawsze naprawdę mnie nęka! –

10

To zależy w jakim kontekście są używane te warunki.

Mogą one oznaczać dokładnie to samo lub mieć nieco inne znaczenie w niektórych sytuacjach.

  • T-SQL - dialekt języka SQL wykorzystywane w Microsoft SQL Server
  • MSSQL - Microsoft SQL Server oprogramowanie
  • SQL - Structured Query Language - w zależności od kontekstu może oznaczać samego języka SQL, bazy danych SQL lub serwer baz danych sql dowolnego rodzaju.
4

1.SQL jest językiem programowania, a T-SQL jest rozszerzeniem do SQL.

2.T-SQL jest zastrzeżony, podczas gdy SQL jest formatem otwartym.

3.T-SQL zawiera programowanie proceduralne, zmienną lokalną i takie, podczas gdy SQL nie.

4.T-SQL jest Turing zakończony, podczas gdy SQL nie jest.

5.T-SQL ma inną implementację DELETE i UPDATE niż SQL.

6T-SQL jest najlepiej, jeśli korzysta z serwerów Microsoft SQL

2

przeciwieństwie cesarstwie Ottaman, Sybase nadal istnieje i nadal korzysta z Transact-SQL. Implementacja Sybase (ASE) nie jest dokładnie taka sama jak wersja Microsoft.

Sybase TSQL Guide

Powiązane problemy