In Zukunft, die Zukunft ist aber noch etwas weiter entfernt, müssen alle SQL Statement mit einem »;« abgeschlossen werden, damit sie korrekt verarbeitet werden.
Bei der kommenden Version vom MSSQL Server, gilt dies noch nicht für alle Befehle, aber ein MERGE-Statement muss schon in dieser Version zwingend mit einem »;« abgeschlossen werden.
Für mich persönlich heißt das als Konsequenz, dass ich ab morgen alle SQL-Statements konsequent mit einem »;« beenden werde, auch wenn mit Sicherheit häufiger eins vergessen werde.
In der Quelle werden auch noch drei Gründe dafür aufgeführt, warum diese Änderung in kommenden Versionen Einzug halten wird. Und ich persönlich kann nur sagen, dass ich diese Änderung wirklich begrüße, dann durch diese Selbstdisziplin, wenn auch erzwungen, ist der Code auf jeden Fall besser lesbar.
___
(via Steffen Krause)
Will man SQL Server 2005 unter Windows Vista installieren, so erhält man möglicherweise die Meldung, dass einige Funktion nicht zur Verfügung stehen, weil bestimmte Funktionen auf den IIS (Internet Information Service) aufsetzen. Um diese Funktionen nutzen zu können, muss man also zunächst unter Windows Vista den IIS aktivieren. Dazu müssen die folgenden Schritte durchgeführt werden:
Beispiel:
SELECT ArtName, ArtPreis, ArtPreis * 1,19 AS Nettopreis FROM Artikel WHERE ArtPreis > 5;
Für Abfragen bei denen man im SELECT Teil des SQL Statement bereits Rechenoperationen einbeziehen möchte, kann man für diese Rechenoperationen einen so genannten Alias vergeben.
Beispiel:
SELECT ArtName, ArtPreis, MeldeBest-IstBest AS Fehlbestand FROM Artikel WHERE MeldBest > IstBest;
Bei Rechenoperation können auch Datumsangaben mit einbezogen werden.
Beispiel:
SELECT ArtName, Now()-LiefDatum AS Lagerdauer FROM Lager:
Dieses Beispiel gibt die Differenz zwischen dem aktuellen und Lieferdatum aus. Now() liefert hierbei das Systemdatum.
SELECT Name, Vorname, PLZ, Ort FROM Adressen, Orte WHERE Adressen.PLZ = Orte.PLZ;
Beispiel:
SELECT Name, Vorname, PLZ FROM Adressen WHERE PLZ = 12345;
Wenn man die Ergebnisse einer SQL Abfrage nach einem bestimmten Kriterium sortieren will, so muss man dies nicht von der Applikation erledigen lassen, sondern kann die Reihenfolge direkt in das SQL Statement mit einbauen.
SELECT Name, Vorname FROM Adressen ORDER BY Name
Die Reihenfolge wird standardmäßig aufsteigend sortiert. Möchte man diese Reihenfolge ändern oder die Reihenfolge einfach nur im SQL Statement mit angeben, so kann man hierzu die Parameter ASC oder DESC verwenden. ASC bedeutet aufsteigende und DESC eine absteigende Sortierung.
SELECT Name, Vorname FROM Adressen ORDER BY Name DESC
Soll eine Tabelle einer Datenbank komplett abgefragt werden, so kann dies ganz einfach realisiert werden.
SELECT * FROM Adressen
Beim Zeichen * handelt es sich um eine sogenannte Wildcard, die dafür sorgt das alle Spalten ausgewählt werden. Da keine einschränkende Bedingung wie bspw. WHERE verwendet wird, so werden mit dieser Abfrage alle Datensätze abgefragt.
Sollen dagegen nur bestimmte Spalten abgefragt werden, so kann man die Spalten ganz einfach durch ein , separiert im SQL Statement angeben.
SELECT Name, Vorname FROM Adressen