Syntax des StarBase 4.0 Select-Befehls:

SELECT <Spaltenliste> FROM <Tabellenliste> [WHERE <Bedingung>] [ORDER BY <Spaltenliste>]

SELECT <Spaltenliste>

In der <Spaltenliste> gibt man die aus der Tabelle benötigten Felder an, jeweils durch Komma getrennt. Alle Felder erreicht man durch das Symbol * (Stern). Hier legt man auch deren Reihenfolge in der Abfrage fest. Z.B.:

SELECT Name, Vorname FROM "Anschriften"
SELECT * FROM "Anschriften"

Dabei kann man vor den Feldnamen noch den Tabellennamen stellen (dies macht Sinn wenn man mehrere Tabellen in Relation setzen kann, dies ist jedoch in StarBase 4.0 nicht möglich). Z.B.:

SELECT "Anschriften".Name, "Anschriften".Vorname FROM "Anschriften"
SELECT "Anschriften".* FROM "Anschriften"

FROM <Tabellenliste>

Die Tabellenliste besteht bei StarBase 4.0 aus einem einzelnen Tabellennamen (siehe oben).

WHERE <Bedingung>

Mit WHERE lassen sich bestimmte Zeilen herausfliltern:

SELECT * FROM "Rechnungen" WHERE "ArtikelNr" = '0856'

liefert alle Rechnungspositionen mit der Artikelnummer 0856. Verschiedene Bedingungen werden geklammert und mit AND bzw. OR verknüpft:

SELECT * FROM "Anschriften" WHERE ("PLZ" = '33102') OR ("PLZ" = '33100')

liefert alle Adressen mit der Postleitzahl 33102 oder 33100.

Zulässige Operatoren sind:

=, >,<, >=, <=, <>, LIKE, NOT, IS NULL

Operator 

Entwurfs-ansicht 

Bedeutung 

Beispiel 

Erklärung 

<>
<>

ungleich 

SELECT * FROM "Anschriften"
WHERE ("PLZ" <> '33102')

Zeigt alle Kunden an in denen die Postleitzahl '33102' nicht vorkommt. 

LIKE
WIE

Wildcardabfrage für einzelne Buchstaben ('_') oder beliebig lange Zeichenketten ('%') können Platzhalter eingesetzt werden. 

SELECT * FROM "Anschriften"
WHERE "Name" LIKE 'M%'

Zeigt alle Kunden an in denen der Name mit „M“ beginnt. 

IS NULL
IST LEER

Fragt leere Felder ab 

SELECT * FROM "Anschriften"
WHERE "KdNr" IS NULL

Zeigt alle Kunden an die noch keine Kundennummer haben. 

NOT
NICHT

Verneint LIKE und IS NULL:
NOT LIKE und 
IS NOT NULL

SELECT * FROM "Anschriften"
WHERE "KdNr" IS NOT NULL

Zeigt alle Kunden an die schon eeine Kundennummer haben. 

ORDER BY <Spaltenliste>

Gibt die Sortierung der Abfrage an, dabei wird die Reihenfolge der <Spaltenliste> beachtet. ASC und DESC geben an, ob das Feld aufsteigend bzw. absteigend sortiert wird (ASC kann auch weggelassen werden).

SELECT * FROM "Rechnungen" ORDER BY "KdNr" ASC, "ArtikelNr" DESC

Ordnet die Rechnungspositionen zuerst aufsteigend nach Kundennummer, dann absteigend nach Artikelnummer.

Autor: Werner Roth Original liegt auf http://www.wernerroth.de/staroffice/dokumentation

© 2000 Rechtlicher Hinweis