SQL Wörterbuch

By Frank Kalis

Posted on Jul 14, 2004 von in Vermischtes

Dieser Artikel wird gerade überarbeitet und erweitert.

SQL ist eine deklarative Sprache. Der eigentliche Sprachkern besteht aus ca. 30 Befehlen, welche sich in folgende Unterbereiche aufteilen.

  • Datenmanipulation (DML)
  • Datendefinition (DDL)
  • Datenkontrolle (DCL)
  • Funktionen
  • Zusammenfassungen, Aggregate, Gesamtsummen
  • Programmierkonstrukte

Datenmanipulation (DML)

DML Statements werden verwendet, um Daten in der Datenbank zu verarbeiten, zu manipulieren oder neue Daten in die Datenbank aufzunehmen. Die Befehle dieser Kategorie sind die wahrscheinlich am häufigsten verwendeten (zumindest bei den Endbenutzern der Datenbank). Tatsächlich gibt es vier Basisoperationen:


SELECT (=Daten anfordern)
INSERT (=neue Daten hinzufügen)
UPDATE (=existierende Daten verändern)
DELETE (=existierende Daten löschen)

Weitergehende DML Befehle werden später erläutert.

SELECT

Wahrscheinlich der bekannteste SQL Befehl überhaupt, wird er verwendet, um Daten aus der Datenbank abzufragen.

DISTINCT

In Verbindung it SELECT verwendet, um eindeutige Zeilen zurückzugeben.


FROM

Gibt die Datenquelle an, von der die Daten zurückgegeben werden sollen.


WHERE

Wird benutzt, um die zurückgegebenen Daten einzuschränken. Nur diejenigen, die dem Kriterium entsprechen, sind im Ergebnisset vorhanden.


ORDER BY

Legt die Sortierreihenfolge der Ergebnismenge fest. Die Angabe von ORDER BY ist die einzige verläßliche Möglichkeit, die Ergebnismenge in der Art und Weise zurückzugeben, wie man es erwartet. aufgrund der Implementierung gab es im SQL Server 6.5 auch bei bestimmten Abfragen ein sortiertes Resultset. Dies ist aber geändert worden. Gibt man ORDER BY nicht an, so gibt SQL Server die Daten auf dem schnellstmöglichen Weg zurück. Dies mag der Sortierung des Clustered Index (sofern vorhanden) entsprechen, oder auch nicht. Eine Garantie gibt es aber, wie gesagt, nicht.


=, >, <, >=, <=, <>

Vergleichsoperatoren.


EXISTS

Logischer Existenztest, wird verwendet, um zu überprüfen, ob eine Unterabfrage Zeilen zurückgibt. EXISTS ist sehr effizient, da er nur überprüft, ob mindestens eine Zeile den Kriterien entspricht. Sobald dies der Fall ist, gibt EXISTS ein logisches WAHR zurück und stoppt mit der weiteren Ausführung. Ob noch weitere Zeilen den Kriterien entsprechen oder wieviele Zeile insgesamt den Kriterien entsprechen, interessiert den EXISTS Befehl nicht.


BETWEEN

Bereichsoperator. Selektiert Daten, die in diesem Bereich liegen.


IN

Zugehörigkeitstest. Gibt nur die Zeilen zurück, die mit den Werten in der Liste übereinstimmen.


LIKE

Zeichenfolgenmustervergleich. Nur diejenigen Zeilen, die mit der angegebenen Zeichenfolge übereinstimmen,
werden zurückgegeben.


IS NULL

Überprüft explizit auf das Vorhandensein von NULL Werten.


AND, OR, NOT

Verbindet logisch mehrere Ausdrücke.


SELECT INTO

Erstellt eine Tabelle 'on the fly'. Hierfür muss die Datenbankoption 'SELECT INTO/BULKCOPY' aktiviert.
sein.


JOIN

Verknüpft zwei Tabellen durch einen INNER JOIN, wobei die Angabe von INNER optional ist. Es werden nur
die Zeilen zurückgegeben, bei denen die Werte des verknüpften Feldes übereinstimmen.


LEFT OUTER JOIN, RIGHT OUTER JOIN

Verknüpft zwei Tabellen und gibt alle Zeilen der OUTER Tabelle zurück und zusätzlich bei Übereinstimmung
auch Werte der INNER Tabelle.


FULL OUTER JOIN

Verknüpft zwei Tabellen und gibt alle Zeilen aus beiden Tabellen zurück.


UNION

Kombiniert die Ergebnisse von einer oder mehreren Abfragen.




INSERT VALUES


Fügt neue Daten zu einer Tabelle hinzu.


DEFAULT VALUES

Gibt an, dass die definierten Standardwerte beim INSERT verwendet werden sollen, sofern explizit keine anderen Werte angegeben wurden.




UPDATE SET

Verändert die Daten in einer Tabelle.




DELETE WHERE

Löscht Daten aus einer Tabelle.




Datendefinition (DDL)


Diese Art von Befehlen wird verwendet, um die Struktur der Datenbank zu verändern. Genauer gesagt, werden
DDL Befehle vewendet, um Objekte


  • zu definieren (CREATE)
  • zu modifizieren (ALTER)
  • zu löschen (DROP)

Wobei als Objekte Datenbanken, Tabellen, Indizes, Trigger usw. gelten. DDL Befehle sind dynamisch, d.h. sie können auch im laufenden Betrieb eingesetzt werden.


CREATE

Erstellt eine neue Instanz eines Objektes in der Datenbank.


ALTER

Modifiziert ein Objekt in der Datenbank.


DROP

Entfernt ein Objekt aus der Datenbank.


TRUNCATE TABLE

Entfernt sämtliche Daten aus einer Tabelle, lässt aber die Tabellenstruktur unverändert. TRUNCATE wird
nur minimal im Transaktionsprotokoll aufgezeichnet.


PRIMARY KEY

Deklariert eine Primarschlüsseleinschränkung auf eine oder mehrere Spalten einer Tabelle. Setzt Einmaligkeit durch. Im Unterschied zu einer UNIQUE Einschränkung darf hier kein Wert NULL sein.


FOREIGN KEY

Deklariert ein Fremdschlüsseleinschränkung auf eine oder mehrere Spalten einer Tabelle.


REFERENCE

Verbindet PK und FK. Wird zusammen mit der FK Deklaration verwendet, um die Tabelle und die Spalte
anzugeben, die durch den FK referenziert werden.


CHECK

Hierdurch wird eine CHECK Einschränkung auf eine Spalte deklariert, diese schränkt den Wertebereich
ein, der für diese Spalte zulässig ist.


WITH NOCHECK

Deaktiviert FK und CHECK Einschränkungen während Tabellenänderungen.


DEFAULT

Eine DEFAULT Einschränkung auf eine Spalte gibt den Wert an, der eingetragen wird, wenn der Benutzer
nicht anderes eingibt.


UNIQUE

Deklariert eine UNIQUE Einschränkung, verhindert nicht einmalige Werte in einer Spalte. Im Unterschied zu einer PRIMARY KEY Einschränkung darf genau ein Wert NULL sein.


IDENTITY

Deklariert eine IDENTITY Eigenschaft auf eine numerische Spalte ohne Dezimalstellen. Stellt im Idealfall eine fortlaufende Nummerierung dar, da der Wert stets um eine definierbare Schrittweite erhöht wird. Achtung: IDENTITY ohne weitere Einschränkungen garantiert keine Einmaligkeit der Werte!


CONVERT / CAST

Wandelt Datentypen in andere um.



Datenkontrolle (DCL)

Diese Kategorie könnte auch als 'Diverse' bezeichnet werden. Hier finden sich Befehle wieder, die für die Datenbankadministration und -wartung verwendet werden.


GRANT

Weist eine Berechtigung einem Benutzer oder einer Rolle zu.


REVOKE

Widerruft Objekt- oder Befehlsberechtigung.


DENY

Verbietet Zugriff auf ein Objekt.


BACKUP (DUMP)

Sichert eine Datenbank oder ein Transaktionsprotokoll. DUMP wird aus Gründen der Abwärtskompatibilität unterstützt.


RESTORE (LOAD)

Gegenstück zu BACKUP. Auch hier wird LOAD aus Gründen der Abwärtskompatibilität unterstützt.




Funktionen


DATEDIFF

Differenz in Tagen zwischen zwei Datumswerten. Dabei bezieht sich die Differenzenbildung stets auf Mitternacht der jeweiligen Tage. Die Zeitangaben beider Tagen werden ignoriert.


GETDATE

Liefert das aktuelle Datum und Uhrzeit des Servers. Alternativ kann man das ANSI-SQL Synonym CURRENT_TIMESTAMP verwenden.


DATEADD

Addiert eine Zahl zu einem angegebenen Datumsteil.


DATENAME

Liefert einen Teil des Datums als Zeichenfolge zurück.


+

Verknüpft zwei Zeichen- oder Binärzeichenfolgen.


SUBSTRING

Liefert eine Teilzeichenfolge innerhalb einer anderen zurück.


RTRIM / LTRIM

Entfernt recht oder linke Leerzeichen aus einer Zeichenfolge.


PATINDEX / CHARINDEX

Sucht nach einem Zeichenmuster innerhalb einer Zeichenfolge und gibt die Stelle zurück, an der diese beginnt. Bei PATINDEX sind Wildcards erlaubt, bei CHARINDEX nicht.


UPPER / LOWER

Wandelt eine Zeichenfolge in Gross- oder Kleinbuchstaben um.


ABS

Gibt den absoluten Betrag einer Zahl wieder.


RAND

Erzeugt eine Zufallszahl zwischen 0 und 1.


SQRT

Berechnet die Quadratwurzel.


%

Modulus. Gibt den ganzzahligen Rest einer Division zurück.


Zusammenfassungen, Aggregate, Gesamtsummen

TOP

Gibt entweder die entsprechende Zahl oder den Prozentsatz an Datensätzen zurück.


SUM

Gesamtsumme aller Werte eines Ausdrucks.


AVG

Arithmetischer Durchschnitt aller Werte eines Ausdrucks.


MIN / MAX

Liefert den kleinsten, grössten Wert zurück.


COUNT

Anzahl der selektierten Datensätze.


GROUP BY

Gruppiert gleicht Werte. Findet normalerweise Anwendung bei Aggregatfunktionen.


HAVING

Spezifiziert ähnlich wie WHERE Bedingungen, die jedoch erst ausgewertet werden, nachdem Aggregatfunktionen
berechnet wurden.


COMPUTE

Ermöglicht die Berechnung zusätzlicher Werte zusammen mit Aggregatfunktionen, wie z.B. Gesamtsummen. Die Ausgabe erfolgt in einer extra Zeile. Streng genommen in nicht relationalem Format.


COMPUTE BY

Fungiert als eine Art zweite GROUP BY Klausel, z.B. für Zwischensummen. Ebenfalls nicht relational.


ROLL UP

Berechnet Zwischen- und Gesamtsummen mit relationaler Ausgabe.


CUBE

Berechnet multidimensionale Zwischen- und Gesamtsummen mit relationaler Ausgabe.


Programmierkonstrukte

Obwohl SQL eine deklarative Sprache ist, stellt T-SQL einige grundlegende Programmierkonstrukte wie Ablaufkontrollen und Entscheidungshilfen bereit, die begrenzte prozedurale Möglichkeiten geben. T-SQL stellt auch die Unterstützung für CURSOR bereit.


--

Leitet einen einzeiligen Kommentar ein.


/* .. */

Umschliesst einen mehrzeiligen Kommentar.


SET

Setzt Verarbeitungoptionen für die Dauer der Session oder Prozedur.


BEGIN / END

Definiert einen Anweisungsblock.


IF .. ELSE

Die grundlegende Entscheidungsstruktur. Ermöglicht konditionale Verarbeitung.


WHILE

Die grundlegende Ablaufkontrollstruktur. Die nachfolgenden Anweisungen werden wiederholt, solange die
Bedingung wahr ist.


CONTINUE

Startet einen neuen WHILE Durchlauf.


BREAK

Beendet die innerste Schleife.


RETURN

Beendet die Prozedur oder Abfrage.


GOTO

Lenkt den Ablauf zu einer Sprungmarke.


CASE

Bedingte Verarbeitung. CASE ist ein vielfach übersehener, aber mächtiger Befehl.

Tags: Tags:
Dieser Eintrag wurde eingetragen von und ist abgelegt unter Vermischtes. Tags:
Tags:

Noch kein Feedback


Formular wird geladen...