SELECT-Anweisung (SQL Server Compact Edition)

Ruft Zeilen aus der Datenbank ab und ermöglicht die Auswahl einer oder mehrere Zeilen bzw. Spalten in einer oder mehreren Tabellen. Dies ist der primäre SQL-Befehl zum Erstellen von Abfragen. Mit SELECT werden keine Daten geändert, eingefügt oder gelöscht.

Syntax

SELECT select_list 
[ FROM table_source ]
[ WHERE search_condition ] 
[ GROUP BY group_by_expression ] 
[ HAVING search_condition ] 
[ ORDER BY order_expression [ ASC | DESC ] ] 

Hinweise

Eine SELECT-Anweisung beschreibt eine Abfrage an das System. Beim Ausführen der Abfrage werden keine Daten aktualisiert. Das Ergebnis der Abfrage ist eine Tabelle mit identisch strukturierten Zeilen, die alle die gleichen Spalten aufweisen. Die SELECT-Anweisung definiert genau die Spalten in dieser Ergebnistabelle sowie die Zeilen, mit denen die Tabelle aufgefüllt wird. Die SELECT-Anweisung teilt dem System nicht mit, wie die Abfrage ausgeführt werden soll. Stattdessen ermittelt das System mithilfe eines internen kostenbasierten Optimierungsmoduls die optimale Ausführungsstrategie für die Abfrage. Das Ergebnis entspricht immer der folgenden kanonischen Ausführungsstrategie. Die einzigen Unterschiede könnten in der Reihenfolge der Zeilen in der Tabelle bestehen, die jedoch der Reihenfolge entspricht, die von einer ORDER BY-Klausel angegeben wird.

Ausführungsstrategie
  1. Generieren Sie die Verknüpfung der Tabellen mithilfe der FROM-Klausel. Falls die JOIN-Syntax verwendet wird, ist das JOIN-Ergebnis offensichtlich. Wenn die FROM-Klausel eine durch Komma getrennte Liste mit Tabellennamen aufweist, handelt es sich implizit um eine produktübergreifende Verknüpfung der Tabellen.
  2. Wenn eine WHERE-Klausel vorhanden ist, wenden Sie die Suchbedingung auf die Zeilen an, die sich aus Schritt 1 ergeben haben, und behalten Sie nur die Zeilen, die die Bedingung erfüllen.
  3. Falls in der SELECT-Klausel keine Aggregate vorhanden sind und falls keine GROUP BY-Klausel vorhanden ist, fahren Sie mit Schritt 7 fort.
  4. Falls eine GROUP BY-Klausel vorhanden ist, unterteilen Sie die Zeilen, die sich aus Schritt 2 ergeben haben, in mehrere Gruppen, sodass alle Zeilen in jeder Gruppe denselben Wert in allen Gruppierungsspalten besitzen. Wenn keine GROUP BY-Klausel vorhanden ist, fassen Sie alle Zeilen zu einer einzigen Gruppe zusammen.
  5. Wenden Sie für jede Gruppe, die sich aus Schritt 4 ergibt, die HAVING-Klausel an, falls sie angegeben ist. Nur jene Gruppen, die die HAVING-Klausel erfüllen, werden beibehalten.
  6. Generieren Sie für jede Gruppe, die sich aus Schritt 5 ergibt, genau eine Ergebniszeile, indem Sie die Auswahlliste der SELECT-Klausel für diese Gruppe auswerten.
  7. Falls die SELECT-Klausel das DISTINCT-Schlüsselwort enthält, löschen Sie im Ergebnis aus Schritt 6 alle doppelten Zeilen.
  8. Falls eine ORDER BY-Klausel vorhanden ist, sortieren Sie das Ergebnis aus Schritt 7 gemäß dem Ausdruck für die Reihenfolge.

Siehe auch

Hilfe und Information

Informationsquellen für SQL Server Compact Edition