Einfache SQL-Abfrage

 

Eine SQL-Abfrage würde etwa so aussehen:

 

“ZEIGE FELD Name und Vorname IN Adresse MIT BEDINGUNG Name=‘Eichenberger’”

oder auf Englisch:

SELECT adr_name, adr_vorname FROM adresse WHERE adr_name = 'Eichenberger'

 

Letzteres wäre bereits eine voll funktionsfähige SQL-Abfrage. SELECT leitet die Art der Anweisung ein. FROM gibt an, auf welcher Tabelle der Datenbank die Select-Anweisung angewendet werden soll und der letzte Teil WHERE wäre bereits eine zusätzlich eingebaute Bedingung, die hilft, nur bestimmte Datensätze aus einer Tabelle zu selektieren.

 

Wenn Sie sämtliche Spalten einer Tabelle anzeigen wollen, können Sie statt der Aufzählung der Spalten einen Stern angeben:

 

SELECT * FROM adresse WHERE adr_name = 'Eichenberger'

 

Sobald eine zweite Tabelle ins Spiel gebracht wird, braucht es den oben beschriebenen Join. Im SELECT-Befehl sieht dies so aus:

 

SELECT anr_name, adr_name, adr_vorname FROM adresse, anrede WHERE adr_anr_id = anr_id AND adr_name = 'Eichenberger'

 

Der Join, der die beiden Tabellen adresse und anrede mittels ID miteinander verbindet, finden Sie in diesem Befehl unter adr_anr_id = anr_id.

 

Als Resultat würde der Datenbank-Server in unserem Beispiel folgendes zurückliefern:

 

Herrn Eichenberger Hans

 

Offenbar befindet sich in der Datenbank nur eine Adresse, die auf den Namen Eichenberger lautet. Sobald mehrere Datensätze angezeigt werden, ist es zweckmässig, diese in eine sinnvolle Reihenfolge zu bringen. Wir erweitern deshalb unser Beispiel um die ORDER BY-Klausel. Mit diesem Zusatz geben Sie bekannt, in welcher Reihenfolge die Datensätze erscheinen sollen:

 

SELECT anr_name, adr_name, adr_vorname FROM adresse, anrede WHERE adr_anr_id = anr_id ORDER BY adr_name

 

(Auf die Eingrenzung adr_name = ‘Eichenberger’ haben wir jetzt verzichtet, damit mehrere Adressen erscheinen).

 

Als Resultat könnte der Datenbank-Server folgendes anzeigen:

 

Frau Althaus Martha

Herrn Baumann Max

Frau Dätwyler Hanna

Herrn Eichenberger Hans

usw.