SQL Wörterbuch

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.

Noch kein Feedback
Einen Kommentar hinterlassen

Ihre E-Mail-Adresse wird nicht auf dieser Seite angezeigt.
SchlechtExzellent
(Zeilenumbrüche werden zu <br />)
(For my next comment on this site)
(Allow users to contact me through a message form -- Your email will not be revealed!)
Trackback-Adresse für diesen Eintrag

http://www.insidesql.org/blogs/htsrv/trackback.php?tb_id=1196