next up previous index
Weiter: 6 SQL-Abfragen über mehrere Hoch: 5 Abfragen mit SQL Zurück: 1 Beispiel einer einfachen

2 Erweiterte SQL-Abfragen über eine Tabelle

Um Datensätze nach einem bestimmten Kriterium aus einer vorgegebenen Tabelle abzufragen, können Sie die SQL-Anweisung über die WHERE-Klausel mit einer Bedingung versehen. In einem Beispiel sollen alle Kunden mit Kundennummer, Name, Vorname und Telefonnummer ausgegeben werden, wenn sie im Postleitzahlenbereich 60130 wohnen. Hierzu ist die Beispieltabelle Kunde mit folgendem SQL-Befehl abzufragen:

%
[commandchars=\\\{\},fontfamily=courier] 
SELECT \textit{KdNr, Name, Vorname, Telefon} FROM \textit{Kunde} WHERE Plz = '60130'

In Abb. 1.50 sind der betreffende Befehl sowie die Ergebnisanzeige im Abfrageentwurf zu sehen.

\begin{figure}\htmlimage
\spfiglii{0.65}{Bld20_45.eps}{SQL-Abfrage einer Tabelle mit
Auswahlbedingung}{_Ref63746198}
\end{figure}

Möchten Sie einen Aliasnamen für ein Ergebnisfeld verwenden, lässt sich dies über das AS-Schlüsselwort vereinbaren. Die nachfolgende Eingabe erstellt eine Abfrage über die angegebenen Felder der Tabelle Kunde, wobei für das Feld KdNr der Aliasname Kundennummer benutzt wird. Dieser Name tritt dann im Spaltenkopf der Ergebnistabelle auf.

%
[commandchars=\\\{\},fontfamily=courier] 
SELECT \textit{KdNr} AS 'Kundennummer' \textit{, Name, Vorname, Telefon} FROM \textit{Kunde}

Möchten Sie mehrere Abfragekriterien in der SQL-Anweisung unterbringen, sind diese mit den Schlüsselwörtern AND bzw. OR zu trennen. Die folgende SQL-Anweisung verknüpft zwei Felder in der WHERE-Klausel:

SELECT \textit{KdNr, Name, Vorname, Telefon} FROM \textit{Kunde} 
   WHERE Plz = '60130' 
      AND KdNr <> '2004'

Mit den obigen Werten wird dann nur der Kunde Braun mit der Kundennummer 2001 zurückgeliefert. Die folgende SQL-Anweisung kombiniert dagegen zwei Auswahlkriterien mit OR:

SELECT \textit{KdNr, Name, Vorname, Telefon} FROM \textit{Kunde} 
   WHERE Plz = '60130'
      OR KdNr > '2004'

Hier werden die beiden Datensätze aus Abb. 1.50 sowie alle weiteren Kunden mit Kundennummern größer 2004 in der Ergebnistabelle aufgelistet.

Hinweis: Aus Gründen der Lesbarkeit wurden hier die Anweisungen auf mehrere Zeilen aufgeteilt. Gelegentlich sieht man auch eine Schreibweise, bei der Auswahlkriterien in runde Klammern gestellt werden (z.B. (OR KdNr > '2004')).


next up previous index
Next: 6 SQL-Abfragen über mehrere Up: 5 Abfragen mit SQL Previous: 1 Beispiel einer einfachen
Nicolaus Millin
2007-08-11