Die SELECT-Klausel gibt an, welche der Datenquelle durch die Abfrage zurückgegeben werden sollen. In den meisten Fällen wird eine Liste von durch Kommata getrennten Feldbezeichnern verwendet.* bedeutet alle Felder.
Mit TOP n
kann angewiesen werden, dass nur die ersten n Datensätze eine mit ORDER BY
sortierten Auswahl ausgegeben werden (Beispiel).
SELECT erlaubt außerdem, dass in der Form Feldname AS Feldalias
Felder für die Ausgabe umbenannt werden. Meist wird dabei eine Funktion verwendet, die die ursprünglichen Feldinhalt für die Ausgabe verändert (Beispiel)
Mit USING Feldname AS Feldalias
oder USING funktion(Feldname) AS Feldalias
kann ein Feld (oder mehrere) für die weitere Verwendung in anderen Abfrageklauseln bestimmt werden, ohne dass dieses Feld mittels SELECT für die Ausgabe ausgewählt wurde.
Wir haben bereits im Abschnitt Ausgabeformate auf diese Klausel hingewiesen. Das Ausgabeziel wird näher spezifiziert. Wenn das Ausgabeziel (ein Dateiname mit oder ohne Pfadangabe) Leerzeichen enthält, muss die Angabe in Hochkommata gesetzt werden ('C:\meine daten\file3.txt').
Die INTO-Klausel ist nicht zwingend erforderlich. Bei den Ausgabeformaten NAT, CSV und TSC auf dem Bildschirm (im Konsolenfenster). Beim Ausgabeformat DATAGRID ist die INTO-Klausel ganz überflüssig (wenn verwendet, dann nur mit INTO DATAGRID)
Die FROM-Klausel ist neben der SELECT-Klausel die zweite zwingend erforderliche Angabe, denn sie spezifiziert die mit -i: typmäßig definierte Datenquelle genauer (man kann sagen: -i: ist die Typangabe, FROM die Ortsangabe). Anhand eines weiter unten dargestellten Beispiels kann man sehen, dass auch zwei oder mehr gleichartige Datenorte abgefragt werden können.
Die WHERE-Klausel ist gewissermaßen ein Filter. Während mit SELECT die Felder (Spalten) der Ausgabe bestimmt werden, legt WHERE fest, welche Datensätze für die Ausgabe in Frage kommen. Ein einfaches Beispiel für die Anwendung einer WHERE-Klausel ist die im Beispielabschnitt dargestellte Abfrage eines Apache-Logfiles.
Die GROUP BY
-Klausel gruppiert die Datensätze und fasst entsprechend definierte Werte zusammen. Ein Beispiel für die Verwendung einer GROUP BY-Klausel ist die im Beispielabschnitt dargestellte Abfrage eines Apache-Logfiles. Der Microsoft LogParser kann nur nach Kriterien sortieren, die mit SELECT ausgewählt wurden.
Mit der Klausel ORDER BY
lassen sich die auszugebenden Daten sortieren. Die Sortierung kann nach einem oder mehreren Feldern erfolgen. Anstelle der reinen Feldangabe kann das Sortierkriterium auch ein Ausdruck, also ein durch eine Funktion umgeformtes Feld sein. Bereits im ersten Beispiel haben wir die Verwendung dieser Klausel gesehen.