SQL Befehle Übersicht | SQL Befehl Liste

Für SQL gibt es diverse Standards, somit kann eine SQL Befehle Übersicht relativ umfangreich werden. Glücklicherweise halten sich die meisten an den ANSII Standard, bzw. wird der aktuelle ISO/IEC 9075 ab 2008 von den meisten Herstellern unterstützt. Diese SQL Befehle Übersicht sowie die nachfolgende SQL Befehl Liste folgt also diesem SQL Standard.

SQL Befehle Übersicht

SQL-Befehle lassen sich in drei Kategorien unterteilen

  • (DML) Befehle zur Datenmanipulation (Ändern, Einfügen, Löschen)
  • (DDL) Befehle zur Definition des Datenbankschemas
  • (DCL) Befehle für die Rechteverwaltung und Transaktionskontrolle.

Die Bezeichnung SQL bezieht sich auf das englische Wort “query” (deutsch: „Abfrage“). Mit Abfragen werden die in einer Datenbank gespeicherten Daten abgerufen, also dem Benutzer oder einer Anwendersoftware zur Verfügung gestellt. Das Ergebnis einer Abfrage sieht wiederum aus wie eine Tabelle und kann oft auch wie eine Tabelle angezeigt, bearbeitet und weiterverwendet werden.

SQL Befehel Übersicht: Einfachste Abfrage

SELECT *  FROM Student

listet alle Spalten und alle Zeilen der Tabelle Student auf.

SQL Befehel Übersicht: Abfrage mit Spaltenauswahl

SELECT MatrNr, Name  FROM Student

listet die Spalten MatrNr und Name aller Zeilen der Tabelle Student auf.

SQL Befehle Übersicht: Abfrage mit eindeutigen Werten

SELECT DISTINCT Name  FROM Student

listet nur unterschiedliche Einträge der Spalte Name aus der Tabelle Student auf. Doppelt aufgeführte Namen werden unterbunden.

SQL Befehle Übersicht: Abfrage mit Umbenennung

SELECT MatrNr AS Matrikelnummer, Name  FROM Student

listet die Spalten MatrNr und Name aller Zeilen der Tabelle Student auf. MatrNr wird beim Anzeigeergebnis als Matrikelnummer aufgeführt.

SQL Befehel Übersicht: Abfrage mit Filter

SELECT VorlNr, Titel  FROM Vorlesung  WHERE Titel = 'ET'

listet VorlNr und Titel aller derjenigen Zeilen der Tabelle Vorlesung auf, deren Titel ‘ET’ ist.

Die solchermaßen strukturierte, häufig verwendete Anweisung wird nach den Anfangsbuchstaben auch als „SFW-Block“ bezeichnet.

SQL Befehel Übersicht: Abfrage mit Filter nach Inhalt

SELECT Name  FROM Student  WHERE Name LIKE 'F%'

listet die Namen aller Studenten auf, deren Namen mit F beginnen. (im Beispiel: Fichte und Fauler).

LIKE kann mit verschiedenen Platzhaltern belegt werden: _ steht für ein fehlendes Zeichen und % steht für eine beliebige Zeichenfolge. So können mit der Abfrage auch Felder nach Inhalt durchsucht werden.

SQL Befehel Übersicht: Abfrage mit Filter und Sortierung

SELECT Vorname, Name, StrasseNr, Plz, Ort   FROM Student   WHERE Plz = '20095'  ORDER BY Name

listet Vorname, Name, StrasseNr, Plz und Ort aller Studenten aus dem angegebenen Postleitzahlbereich sortiert nach Nachnamen.

SQL Befehel Übersicht: Abfrage mit verknüpften Tabellen

SELECT Vorlesung.VorlNr, Vorlesung.Titel, Professor.PersNr, Professor.Name  FROM Professor, Vorlesung  WHERE Professor.PersNr = Vorlesung.PersNr

Die Aufzählung hinter FROM legt die Datenquellen fest: an dieser Stelle können mit Hilfe sogenannter JOINs mehrere Tabellen über Schlüsselfelder miteinander verknüpft werden, so dass Daten aus verschiedenen Tabellen zusammengeführt und angezeigt werden.

Innerer natürlicher Verbund: Alle Datensätze aus den Tabellen Professor und Vorlesung, die den gleichen Wert im Feld PersNr haben. Professoren ohne Vorlesung und Vorlesungen ohne Professor werden damit nicht angezeigt.

Dies ist theoretisch äquivalent zu:

SELECT Vorlesung.VorlNr, Vorlesung.Titel, Professor.PersNr, Professor.Name  FROM Professor INNER JOIN Vorlesung  ON Professor.PersNr = Vorlesung.PersNr

Vorsicht: Nicht alle Implementierungen verstehen die Schlüsselworte „INNER“, „OUTER“ und „JOIN“.

Tabellen können auch ohne Verwendung von Schlüsselfeldern miteinander verknüpft werden:

SELECT Vorlesung.Titel, Professor.Name  FROM Professor, Vorlesung  WHERE Professor.PersNr = Vorlesung.PersNr

SQL Befehel Übersicht: Linker äußerer Verbund

SELECT Vorlesung.VorlNr, Vorlesung.Titel, Professor.PersNr, Professor.Name  FROM Professor LEFT OUTER JOIN Vorlesung  ON Professor.PersNr = Vorlesung.PersNr

Äußerer linker Verbund: Alle Datensätze der Tabelle Professor und alle Datensätze aus beiden Tabellen, die den gleichen Wert im Feld PersNr haben. Professoren ohne Vorlesung sind enthalten, Vorlesungen ohne Professor sind nicht enthalten.

Die folgende Abfrage liefert nur diejenigen Datensätze, zu denen kein passender Datensatz im linken äußeren Verbund existiert (alle Professoren, die keine Vorlesungen halten):

SELECT Professor.PersNr, Professor.Name  FROM Professor LEFT OUTER JOIN Vorlesung  ON Professor.PersNr = Vorlesung.PersNr   WHERE Vorlesung.PersNr IS NULL

Das Gleiche mittels einer Unterabfrage:

SELECT a.PersNr, a.Name  FROM Professor a  WHERE NOT EXISTS (SELECT * FROM Vorlesung WHERE PersNr = a.PersNr)

SQL Befehel Übersicht: Gruppierung mit Aggregat-Funktionen

SELECT COUNT(Vorlesung.PersNr) AS Anzahl, Professor.PersNr, Professor.Name  FROM Professor LEFT OUTER JOIN Vorlesung  ON Professor.PersNr = Vorlesung.PersNr  GROUP BY Professor.Name, Professor.PersNr

Äußerer linker Verbund und Gruppierung, Aggregation: Zählt die Anzahl der Vorlesungen pro Professor.

Bemerkung: COUNT(Professor.PersNr) oder COUNT(*) wären falsch (Nullwerte sollen nicht mitgezählt werden).

 

Die Seite wird demnächst mit weiteren SQL Befehlen erweitert, bzw. die SQL Befehle Übersicht wird fertiggestellt.

 

 

Quelle für diese SQL Befehle Übersicht: http://de.wikipedia.org/wiki/SQL

Lizenzhinweis: Diese SQL Befehle Übersicht steht unter der Lizenz CC-BY-SA.

Schlüsselworte: “sql befehle übersicht” 880/180 2.46 CHF und “sql befehl” 3600/198000 1.95 CHF

Scroll to Top