SQL ist überall, SQL ist einfach zu erlernen und SQL-Lösungen lassen sich problemlos implementieren. Egal, ob man nun SQL häufig oder nur gelegentlich verwendet, diese Tricks und Ratschläge für die Arbeit mit der Datenbanksprache helfen auf jeden Fall, Fehler zu vermeiden und die Performance zu verbessern.
Viele SQL-Versionen sind anbieterspezifisch. Die folgenden Tipps gelten für Jet- und Transact-SQL, aber sie können auf andere SQL-Produkte adaptiert werden.
1. Arbeiten mit Jet-SQL im Access-SQL-Fenster
Access-Benutzer erstellen jedes Mal, wenn sie eine Abfrage generieren, auch gleichzeitig SQL-Anweisungen, sie wissen es nur nicht. Sie benutzen das Query-Design-Fenster, eine grafische Darstellung des eigentlichen SQL. Die wenigsten Benutzer sind in der Lage, die geeigneten SQL-Anweisungen zu erstellen, die sie benötigen, weshalb die grafische Oberfläche sehr hilfreich ist. Doch auch für Programmierer bietet sie einige Vorteile. Wenn es einem zum Beispiel schwer gelingt, ohne Hilfsmittel einen fehlerfreien SQL-Code zu erstellen, kann man auf das SQL-Fenster zurückgreifen:
Nicht jede SQL-Anweisung kann direkt aus dem Modul in das SQL-Fenster kopiert werden. Wenn die Anweisung Verkettungen oder Variablen enthält, sollte man eine Debug.Print-Anweisung direkt nach der Definitionsanweisung einfügen. Falls ein Debugging für die Anweisung durchgeführt werden soll, kopiert man die evaluierte Anweisung aus dem Immediate-Fenster. Die folgende Anweisung im Code funktioniert beispielsweise wegen der Variablen und der Verkettung im SQL-Fenster nicht:
Ist dagegen eine Debug.Print-Anweisung dahinter gesetzt, lassen sich die evaluierten Ergebnisse aus dem Immediate-Fenster kopieren:
2. Reservierte Wörter in SQL
SQL reserviert bestimmte Wörter als Schlüsselwörter. Sie sollten nicht zur Bezeichnung von Spalten, Tabellen, Variablen oder Objekten verwendet werden. Kommen diese Wörter außerhalb des von der Engine vorgesehenen Kontexts zum Einsatz, verwirrt dies die Engine und verursacht Fehler oder sogar ohne Fehlermeldung falsche Ergebnisse.
3. Der Unterschied zwischen ALL, DISTINCT und DISTINCTROW
Die SQL-Anweisung SELECT unterstützt drei Prädikate: ALL, DISTINCT und DISTINCTROW. ALL ist der Standard und gibt alle Einträge aus, welche die jeweils eingegebenen Bedingungen erfüllen. DISTINCT beschränkt die Ergebnisse auf in einer oder mehreren Spalten nur einmal vorkommende Werte. Zum Beispiel würde die folgende Anweisung nur einen Eintrag für jeden LastName-Wert ausgeben:
Mit anderen Worten: Wenn ein Eintrag sowohl für John Smith als auch für Mary Smith vorhanden ist, gibt diese Anweisung nur einen Eintrag für Smith aus. DISTINCT funktioniert jedoch für alle Spalten, nicht nur für die unmittelbar folgende Spalte. Das bedeutet, dass diese Anweisung einen Eintrag für John und Mary ausgibt, da die kombinierten Spalten keinen doppelten Eintrag ergeben:
Wenn die SELECT-Klausel auf mehr als eine Spalte bezogen wird, muss die Kombination der Werte aus allen ausgewählten Spalten für einen bestimmten Eintrag einzigartig sein.
DISTINCT weist ein paar Besonderheiten auf, die man kennen sollte:
Während DISTINCT mit Spalten funktioniert, bezieht sich DISTINCTROW auf Einträge. (Transact-SQL unterstützt DISTINCTROW nicht.) Dieses Prädikat weist ebenfalls einige Einschränkungen auf, die das Beheben eines Fehlers erschweren können:
Salesforce forciert den Ausbau seiner Industry Clouds. Mit ihrem Prozesswissen könnten deutsche IT-Dienstleister davon profitieren.
Bisher unbekannter Bedrohungsakteur versucht über gefälschte IP Scanner Software-Domänen Zugriff auf IT-Umgebungen zu erlangen.
Der Bericht zeigt bereits nutzbare Angriffsanwendungen und bewertet die Risiken, die davon ausgehen.
Deutsche sehen Finanzwesen und IT im Zentrum der KI-Transformation. Justiz und Militär hingegen werden deutlich…
Cubbit ist das weltweit erste Unternehmen, das Cloud-Objektspeicher anbietet. Es wurde 2016 gegründet und bedient…
Unbefugte können Schadcode einschleusen und ausführen. Auslöser ist eine fehlerhafte Implementierung einer Android-Funktion.