Zurück zur Artikelliste Artikel
4 Leseminuten

Was ist der Unterschied zwischen SQL und T-SQL?

Wenn Sie mit dem Erlernen von SQL beginnen und durch die Unterschiede zwischen Standard-SQL und ähnlichen Sprachen wie T-SQL verwirrt sind, wird Ihnen dieser Artikel helfen, die Dinge klarer zu sehen. Sie erfahren nicht nur etwas über den Unterschied zwischen SQL und T-SQL, sondern finden auch Erklärungen dazu, welche Themen Sie besser zuerst lernen sollten: Standard-SQL oder etwas Spezielleres wie MS SQL Server.

Was ist Standard-SQL?

SQL (Structured Query Language) ist eine grundlegende ANSI/ISO-Standardprogrammiersprache, die für die Bearbeitung von in relationalen Datenbanken gespeicherten Daten entwickelt wurde. Dank dieser internationalen Standards ermöglichen die relationalen Datenbanksysteme, die diese Sprache implementieren, das Schreiben ähnlicher Abfragen in den meisten Systemen. Sie können Daten auswählen, Daten manipulieren, Objekte erstellen, Benutzer verwalten und Datenbanken managen. Die Anbieter von Datenbankverwaltungssystemen unterstützen die meisten Funktionen der ANSI/ISO-SQL-Normen, aber die Unternehmen fügen auch ihre eigenen, nicht standardisierten Funktionen hinzu, die die Sprache erweitern. Das Erlernen des so genannten Standard-SQL ist grundlegend für das Erlernen anderer Erweiterungen der Sprache wie T-SQL, da diese Erweiterungen die meisten der grundlegenden SQL-Funktionen implementieren. Zum Beispiel gibt es keinen Unterschied zwischen SQL und T-SQL, wenn es um LIKE-Klauseln geht. Wenn Sie Standard-SQL lernen, werden Sie in der Lage sein, mit Daten in den meisten Datenbanksystemen zu arbeiten.

Was ist T-SQL?

Da wir bereits Standard-SQL haben, das von den Anbietern relationaler Datenbanken unterstützt wird, wozu dient dann T-SQL? Ist es notwendig, T-SQL zu lernen? Was ist der Unterschied zwischen SQL und T-SQL?

Obwohl fast alle relationalen Datenbanksysteme Standard-SQL verwenden, enthalten fast alle von ihnen auch nicht standardisierte Erweiterungen der Sprache. Die spezielle Implementierung von SQL, die im Datenbanksystem Microsoft SQL Server verwendet wird, heißt Transact-SQL oder kurz T-SQL. T-SQL verfügt über mehr Merkmale und Funktionen, als im SQL-Standard festgelegt sind. SQL ist fast eine Untermenge von T-SQL. Wenn Sie also T-SQL kennen, kennen Sie auch Standard-SQL, da es fast alle Funktionen von Standard-SQL enthält. Der Unterschied zwischen SQL und T-SQL besteht darin, dass letzteres über mehr Funktionen verfügt, die Ihnen helfen sollen, Abfragen einfacher, schneller und effizienter zu schreiben. Wenn Sie also mit MS SQL Serve arbeiten, verwenden Sie T-SQL.

T-SQL vs. Standard SQL - Was ist der Unterschied?

In anderen relationalen Datenbanksystemen sind die Namen der Erweiterungen und der zusätzlichen Funktionen unterschiedlich. Oracle hat zum Beispiel die Sprache PL/SQL, und PostgreSQL implementiert PL/pgSQL.

Derzeit gibt es keine SQL-Implementierung, die 100 % der Funktionen von Standard-SQL enthält, aber alle verfügbaren Implementierungen enthalten die meisten der Standardfunktionen.

Sehen Sie sich die folgende Abbildung an:

T-SQL vs. Standard SQL - Was ist der Unterschied?

Beispiele von Unterschieden zwischen T-SQL und Standard-SQL

Der erste Unterschied zwischen SQL und T-SQL ist das Schlüsselwort TOP, das hauptsächlich in einer SELECT-Anweisung verwendet wird. Es gibt an, wie viele Zeilen von einer Abfrage in einer Ergebnismenge zurückgegeben werden sollen. TOP wird nach SELECT zusammen mit der Anzahl der zurückzugebenden Zeilen eingefügt. Die folgende Abfrage gibt zum Beispiel nur die ersten 12 Ergebnisse zurück:

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

Diese Klausel finden Sie nicht in Standard-SQL - sie ist nur in MS SQL Server verfügbar. Wie und wann Sie die TOP-Anweisung in MS SQL Server verwenden können, erfahren Sie im Kurs "SQL für Anfänger in MS SQL Server".

Ein weiterer Unterschied zwischen SQL und T-SQL besteht in der Syntax der Funktion SUBSTRING, mit der ein Teilstring aus einer gegebenen Zeichenkette ausgeschnitten wird. In Standard-SQL lautet die Syntax dieser Funktion:

SUBSTRING(str FROM start [FOR len])

Im MS SQL Server lautet die Syntax der Funktion:

SUBSTRING(str, start, len)

In diesen Funktionen ist str eine gegebene Zeichenkette, die durchsucht werden soll, start ist eine Startnummer eines Zeichens (das erste ist 1) in einer Zeichenkette, ab der die Funktion mit der Suche beginnt, und len ist die Länge der zurückzugebenden Zeichenkette.

Dies sind nur zwei Beispiele für die Unterschiede zwischen Standard-SQL und T-SQL, aber Sie können mehr in diesem Kurs "SQL für Anfänger in MS SQL Server" und in diesem "SQL für Anfänger Kurs".

Was ist besser zu lernen: Standard-SQL oder T-SQL?

LearnSQL.de bietet zwei Einsteigerkurse an: "SQL für Anfänger" und "SQL für Anfänger in MS SQL Server". Vielleicht sind Sie verwirrt, welchen Kurs Sie zuerst wählen sollen. Wenn Sie eine Sprache für die Kommunikation mit einer beliebigen relationalen Datenbank lernen wollen, wählen Sie den Kurs "SQL für Anfänger", in dem Sie Standard-SQL lernen. Der Stoff, den Sie lernen, ist universell und befähigt Sie, verschiedene relationale Datenbankmanagementsysteme (RDBMS) zu nutzen. Wenn Sie sich jedoch speziell mit T-SQL vertraut machen wollen, weil Sie vorhaben, mit dem System MS SQL Server zu arbeiten, ist es gut, mit dem Kurs "SQL für Anfänger in MS SQL Server" zu beginnen, um Transact-SQL im Detail zu lernen.

Zusammenfassung

Die Entscheidung, ob Sie mit dem Erlernen von Standard-SQL, T-SQL oder einer anderen Variante beginnen, hängt hauptsächlich davon ab, ob Sie wissen, dass Sie ein bestimmtes Datenbanksystem verwenden werden. Beginnen Sie einen dieser Kurse von LearnSQL.de und Sie werden auf dem Weg sein, SQL-Abfragen zu schreiben, um Ihre Daten sinnvoll zu nutzen.