Database Reference
In-Depth Information
Ausgabe:
KNr Kursbezeichnung
------ -----------------------------------
255
Datenbanken
454
Elektrostatische Aufladung
245
Kostenschätzung
412
Tabellenkalkulation
Verschachtelte Abfragen werden immer von unten nach oben
abgearbeitet. Zuerst wird die Personennummer von Felix Stef-
fen bestimmt. Diese Abfrage liefert genau einen Wert zurück.
Darum darf bei nächst höheren Abfrage im Bedingungsteil ein
Gleichheitszeichen stehen. Das Attribut im „WHERE“-Teil könn-
te auch einen anderen Namen als das Attribut im „SELECT“-Teil
der untergeordneten Abfrage haben. Die Datentypen der bei-
den Attribute müssen hingegen miteinander verträglich sein.
Mit der ermittelten Personennummer liefert die mittlere Abfrage
alle entsprechenden Kursnummern aus der Tabelle „Kursbesu-
che“. Weil dies mehrere Werte sein können, muss statt dem
Gleichheitszeichen das Schlüsselwort „IN“ im Bedingungsteil
der obersten Abfrage verwendet werden. Mit „IN“ wird für je-
den Datensatz der Tabelle „Kurse“ abgeklärt, ob dessen Kurs-
nummer in der zurückgelieferten Kursnummernliste zu finden
ist. Wenn dies der Fall ist, wird der Datensatz weiterverarbeitet
bzw. angezeigt.
„ORDER BY“ kann bei den Unterabfragen nicht eingesetzt wer-
den. Hingegen sind „GROUP BY“ und „HAVING“ erlaubt. Fol-
gendes Beispiel zeigt, dass es auch möglich ist, verschachtelte
Abfragen mit nur einer Tabelle zu realisieren:
Beispiel:
SELECT FNr, Name, Vorname, Lohnstufe
FROM Personen
WHERE (FNr, Lohnstufe) IN
(SELECT FNr, MAX(Lohnstufe)
FROM Personen
GROUP BY FNr)
ORDER BY FNr DESC, Name ASC;
Search WWH ::




Custom Search