Top Kniffe für ein besseres Arbeiten mit SQL

Die SQL-Klausel GROUP BY definiert Teilmengen von Daten. Dabei ist vor allem wichtig, dass man bei Verwendung einer GROUP BY-Klausel nur diejenigen Spalten einbeziehen sollte, welche die Teilmenge definieren oder Daten für die Teilmenge zusammenfassen. Mit anderen Worten, GROUP BY kann keine zusätzlichen Daten umfassen. Wer beispielsweise die Anzahl der an einem bestimmten Datum platzierten Aufträge erfahren möchte, kann eine Anweisung ähnlich der folgenden verwenden:

Diese Abfrage würde einen Eintrag für jedes Datum ausgeben. In jedem Eintrag würden das Datum und die Anzahl der Aufträge für dieses Datum angezeigt. Man kann keine weiteren Spalten einbeziehen.

GROUP BY ist vielseitig. Man muss keine Spalte in der SELECT-Klausel angeben, um eine Gruppierung für sie durchzuführen. Zum Beispiel könnte das OrderDate aus der Abfrage oben weggelassen und nur die Zählung für das jeweilige Datum ausgegeben werden (obgleich diese Ergebnisse nicht sehr sinnvoll wären). Wenn die GROUP BY-Spalte in der Quelle enthalten ist, benötigt SQL sie nicht in der SELECT-Klausel. Wird dagegen in der SELECT-Klausel auf eine Spalte verwiesen, muss diese auch in die GROUP BY-Klausel oder in eine Aggregat-Funktion übernommen werden. Die folgende Anweisung funktioniert beispielsweise nicht, weil die Spalte Freight (Fracht) nicht Teil eines Aggregats oder der GROUP BY-Klausel ist:

In Wirklichkeit ist es nicht sehr sinnvoll, eine Spalte auf diese Weise einzubeziehen. Wenn man die Frachtdaten im Kontext einer GROUP BY-Abfrage wünscht, macht eine Zusammenfassung der Frachtwerte in der Gruppe Sinn. Siehe:

Jet kann keine Memo- oder OLE Object-Spalten gruppieren. Außerdem lässt sich eine GROUP BY-Klausel nicht in eine UPDATE-Anweisung übernehmen, was auch sinnvoll ist, da SQL dann nicht feststellen könnte, welche Einträge aktualisiert werden sollen.

7. Ändern der Tabellenstruktur

Es gibt verschiedene SQL-Anweisungen, um die Gestaltung einer Tabelle zu verändern. Hierbei sollte man immer Vorsicht walten lassen, da sonst Daten vernichtet werden könnten. Wird beispielsweise den Datentyp einer Spalte geändert, könnte die Engine vorhandene Daten kürzen oder löschen, um den Datentyp der neuen Spalte unterzubringen. Beim Ändern von Tabellen sollte man die folgenden Einschränkungen beachten:

  • Man kann die Daten einer bestehenden Spalte nicht auf COUNTER ändern, wenn die Spalte bereits Daten enthält.
  • Eine Spalte kann nicht umbenannt werden. Dazu muss man die Spalte mit DROP COLUMN entfernen und dann unter Verwendung des neuen Namens neu erstellen. Um die Daten zu bewahren, muss eine neue Spalte erstellt werden, in die dann die Daten aus der ursprünglichen Spalte mit UPDATE kopiert werden. Zu guter Letzt ist die ursprüngliche Spalte zu löschen.
  • Vor dem Ändern einer Tabelle mit ALTER TABLE muss sie geschlossen sein. Andernfalls gibt die Engine einen Fehler aus. Der folgende VBA-Code schließt eine geöffnete Tabelle und verhindert den Fehler, der generiert wird, wenn die Tabelle geöffnet ist:

  • Spalten für die eine Einschränkung vorliegt, lassen sich nicht löschen. Zuerst muss die Einschränkung mit DROP CONSTRAINT entfernt werden.
  • Alle CHECK CONSTRAINT-Befehle entfernen, bevor man die Tabellen löscht, die von diesen betroffen sind.
  • Zum Ändern einer bestehenden Beziehung muss sie gelöscht und neu erstellt werden.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Digitale Produkte „cyberfit“ machen

Vernetzte Produkte müssen laut Cyber Resilience Act über Möglichkeiten zur Datenverschlüsselung und Zugangsverwaltung verfügen.

2 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Das jüngste Update für Windows, macOS und Linux stopft drei Löcher. Eine Anfälligkeit setzt Nutzer…

2 Tagen ago

Apple schließt Zero-Day-Lücken in iOS, iPadOS und macOS

Zwei von Google-Mitarbeitern entdeckte Schwachstellen werden bereits aktiv gegen Mac-Systeme mit Intel-Prozessoren eingesetzt. Sie erlauben…

3 Tagen ago

Gefährliche Anzeigen für Passwortmanager Bitwarden verbreiten Malware

Die Hintermänner haben es unter anderem auf Daten von Facebook-Geschäftskonten abgesehen. Opfer werden über angebliche…

3 Tagen ago

Public Cloud: Gartner erwartet 2025 weltweite Ausgaben von 723 Milliarden Dollar

Bis 2027 werden 90 Prozent der Unternehmen eine Hybrid-Cloud-Strategie umsetzen.

3 Tagen ago

iPhone 15 ist bestverkauftes Smartphone im dritten Quartal

Apple belegt in der Statistik von Counterpoint die ersten drei Plätze. Samsungs Galaxy S24 schafft…

4 Tagen ago