Logparser
SQL Grundelemente

Die Grundelemente des SQL-Abfragesyntax

SELECT

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)

USING

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.

INTO

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').

Anmerkung:

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)


FROM

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.

WHERE

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.

GROUP BY

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.

HAVING

ORDER BY

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.