Seitenleiste

Community

SQL

Grundlagen

Datenbanksysteme

Client/Server

Eingebettet

Basis SQL Select Syntax

Der grundlegende Befehl in SQL ist der SELECT-Befehl. Mit ihm ist es uns möglich, Daten aus der Datenbank auszulesen. Der einfachste SELECT-Befehl besteht aus 2 Teilen. Dem SELECT-Teil, bei dem wir auswählen welche Elemente angezeigt werden sollen und der FROM-Teil unserer Abfrage. In diesem Teil des Befehls sagen wir der Datenbank, aus welchen Tabellen wir lesen wollen.

Schreibweise

SELECT [DISTINCT] [ALL] { * | Spaltenname1 [Alias] [,Spaltenname2 [Alias], ...]}
FROM Tabellenname1 [, Tabellenname2, ...]

Dinge zwischen „[]“ können geschrieben werden. Bei Argumenten die in „{}“ stehen und mit „|“ getrennt sind muss eines der in Klammer stehenden ausgewählt werden. Für oben würde das bedeuten, dass DISTINCT geschrieben werden kann, aber nicht muss. Es MUSS aber ein „*“ oder mindestens 1 Spaltenname beim SELECT stehn.

Zu Beginn sieht das obige etwas verwirrend aus, bei den nachfolgenden Beispielen fällt aber die Hälfte der oben stehenden Ausdrücke weg, da diese nur „Ergänzungswörter“ sind, die (wie z.B. DISTINCT und ALL) nur die Ausgabe verändern.

Machen wir gleich einmal ein Beispiel. Wir haben eine Tabelle von Mitarbeitern in der ihre Mitarbeiternummer, ihr Name und andere Daten wie Gehalt und Abteilungsnummer gespeicherts sind.

Wenn wir jetzt die Mitarbeiternummer und den Namen jedes Mitarbeiters wissen wollen, sieht das in SQL wie folgt aus: Zusätzlich wollen wir die Spaltenüberschriften von „Mitarbeiternummer“ auf „Personalnummer“ und von „Name“ auf „Familienname“ ändern.

SELECT MitarbeiterNr AS "Personalnummer", Name AS "Familienname"
FROM Mitarbeiter --Tabellenname

Wie vorher beschrieben, wird im SELECT das angegeben, was wir aus der Datenbank herauslesen möchten (Nummer und Name des Mitarbeiters). Im FROM steht, von wo. Unsere Tabelle aus der wir auslesen heißt Mitarbeiter.

Aber was heißen dann die ganzen anderen Wörter oben in der Beschreibung? Zur deren Erklärung kommen wir jetzt:

In einer SQL Abfrage gibt es bei den Schlüsswörtern (SELECT, FROM, …) keinen Unterschied zwischen Groß- und Kleinschreibung. Bei Tabellen und Spaltennamen, muss man die Schreibweise aber beachten.

Um die Lesbarkeit des SQL Codes zu erhöhen, wird empfohlen, dass SQL Befehle über mehrer Zeilen gehen sollen. Dies erleichtert außerdem die Fehlersuche.

Weiter Beispiele

Wir verwenden hier wieder die Mitarbeitertabelle von oben. Zeige alle Abteilungsnummern an:

SELECT Abteilungsnummer
FROM Mitarbeiter 

In diesem Beispiel sehen wird, dass wir nur 2 Abteilungsnummern haben, uns aber trotzdem 5 zurückgeliefert werden (3 mal 40, 2 mal 10). Um diese Mehrfachausgaben zu unterdrücken, binden wir das Schlüsselwort DISTINCT in unsere Abfrage ein.

SELECT DISTINCT Abteilungsnummer
FROM Mitarbeiter

Jetzt werden uns nur 2 Abteilungsnummern angezeigt, nämlich 10 und 40.