SQL - Abfragebeispiele

In der Adressverwaltung haben Sie die Möglichkeit, Adressen nach bestimmten Kriterien zu selektieren, um diese anschließend in Listen auszudrucken oder für Serienbriefe zu verwenden. Hierzu setzen Sie eine Abfrage auf den aktuellen Adressdatenbestand ab. Neben den Standardabfragen unter ASBwin können Sie auch sehr differenzierte SQL- Abfragen durchführen. SQL steht für Structured Query Language und ist eine allgemeine Abfragesprache für Datenbanken.

 

Eine vollständige Beschreibung dieser sehr mächtigen und komplexen Sprache würde den Rahmen eines AVA-Handbuches übersteigen. Deshalb wollen wir hier nur die wesentlichen Merkmale der SQL- Syntax im Zusammenhang mit der ASBwin - Adressverwaltung anhand von Beispielen erklären. Für weitergehende Erläuterungen möchten wir Sie auf die umfangreiche Fachliteratur zum Thema SQL verweisen.

 

Abfragen in der ASBwin - Adressverwaltung beginnen grundsätzlich mit 'SELECT * FROM adresse WHERE xy'  und enden mit 'ORDER BY xy'. Einfache Abfragen bestehen nur aus einer Bedingung, z. B. 'ort = "Hamburg"'. Komplexe Abfragen beinhalten oft mehrere, verschachtelte Bedingungen. Der LIKE- Operator erlaubt in Verbindung mit dem %-Zeichen auch die Abfrage auf Teilzeichenketten. Groß- und Kleinschreibung wird im Befehl selbst ignoriert. Als Standard hat sich allerdings für bessere Lesbarkeit bewährt, die eigentlichen SQL- Sprachelemente wie SELECT, FROM, LIKE, WHERE usw. in Großschrift und alle übrigen Anweisungen in Kleinschrift zu schreiben.

 

 

Konstanten werden grundsätzlich mit dem " - Zeichen geklammert. Bei den Konstanten wird zwischen Groß- und Kleinschreibung unterschieden. Mit der Funktion UPPER() ist eine nicht casesensitive Suche möglich (SELECT * FROM Adresse WHERE UPPER(Name) LIKE "SCHMIDT" findet also auch Schmidt). Als Wildcard findet das Prozentzeichen Verwendung.

 

 

Abfragen auf die ASBwin - Adressverwaltung beziehen sich immer auf die einzelnen Felder der ASBwin - Adresstabelle. Im Folgenden erhalten Sie eine Übersicht aller verfügbaren ASBwin - Adressfelder:

 

 

ASBwin-Adressfelder

 

Name

Gewerk1

Ort

Merkmal1

Zusatz

Gewerk2

Vorwahl

Merkmal2

Vorname

Gewerk3

Telefon

Merkmal3

Strasse

Gewerk4

Telefax

Merkmal4

PLZ

Gewerk5

Anrede

Merkmal5

 

 

Briefanrede

Notiz

 

 

 

Beispiele für SQL- Abfragen:

 

SELECT * FROM adresse WHERE ort = "Hamburg"
AND GEWERK1 = "Tischler"
ORDER BY plz

...diese Abfrage ermittelt aus dem Adressdatenbestand alle Tischler aus Hamburg, und zeigt diese nach der PLZ sortiert an.

 

 

SELECT * FROM adresse WHERE plz LIKE "30%"
ORDER BY plz

...ermittelt alle Adressen in der Postleitzahlengebiet 30 sortiert nach PLZ.

 

 

SELECT * FROM adresse WHERE notiz LIKE "%irgendein text%"
ORDER BY name

...ermittelt alle Adressen, in denen im Notizfeld der Begriff 'irgendein text' vorkommt.

 

 

SELECT * FROM adresse WHERE telefon LIKE "8822%"
AND (ort = "Berlin" OR ort = "Frankfurt")
ORDER BY name

...ermittelt alle Adressen in Berlin und Frankfurt, bei denen die Telefonnummer mit 8822 beginnt.

 

 

SELECT * FROM adresse
ORDER BY plz

...ermittelt alle Adressen, sortiert nach PLZ .

 

 

SELECT * FROM adresse  WHERE ort = "Berlin"
ORDER BY strasse

...ermittelt alle Adressen in Berlin, sortiert nach Straßennamen.

 

 

SELECT * FROM adresse WHERE name LIKE "%GmbH%"
ORDER BY name

...ermittelt alle Adressen, in denen im Namen der Begriff 'GmbH' vorkommt

 

 

SELECT * FROM adresse WHERE plz  LIKE "20%"
OR plz  LIKE "30%"
OR plz  LIKE "40%"
ORDER BY plz

...ermittelt alle Adressen in den Postleitzahlgebieten 20..., 30..., 40... sortiert nach PLZ.