db:sql
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
db:sql [2016/11/22 19:44] – [Weblinks] roehner | db:sql [2017/05/13 12:00] – [Abfrage einer rekursiven Beziehung] roehner | ||
---|---|---|---|
Zeile 15: | Zeile 15: | ||
*Damit ihr nach dieser Einheit gut auf das Gelernte zurückgreifen könnt (wichtig für Klausuren und Prüfungen), | *Damit ihr nach dieser Einheit gut auf das Gelernte zurückgreifen könnt (wichtig für Klausuren und Prüfungen), | ||
*Aufgaben und Lösungen der Übungslektionen stellt ihr in einem Textdokument zusammen. | *Aufgaben und Lösungen der Übungslektionen stellt ihr in einem Textdokument zusammen. | ||
+ | |||
+ | =====Abfrage einer rekursiven Beziehung===== | ||
+ | Das SQL-Tutorial enthält keine rekursiven Beziehungen. Daher folgen hier zwei Beispiele für entsprechende SQL-Abfragen. | ||
+ | |||
+ | a) Für die rekursive Beziehung [[Spezielle_Beziehungen# | ||
+ | |||
+ | <WRAP example round> | ||
+ | < | ||
+ | SELECT A.Vorname, A.Nachname | ||
+ | FROM Mitarbeiter A, Mitarbeiter B | ||
+ | WHERE A.VorgesetztenPersonalnummer = B.Personalnummer | ||
+ | AND B.Vorname = ' | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | b) Es soll eine Relation mit Nachname und Vorname aller Mitarbeiter erzeugt werden, die zu jedem Mitarbeiter auch Nachname und Vorname des Vorgesetzten enthält. | ||
+ | |||
+ | <WRAP example round> | ||
+ | < | ||
+ | SELECT A.Vorname, A.Nachname, B.Vorname, B.Nachname | ||
+ | FROM Mitarbeiter A, Mitarbeiter B | ||
+ | WHERE A.VorgesetztenPersonalnummer = B.Personalnummer | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Rekursive Abfragen über alle Vorgesetztenstufen hinweg, z.B. Anzeige aller Mitarbeiter mit dem direkten oder indirekten Vorgesetzten Paul Schmidt, überschreiten das Schulniveau. | ||
=====Weblinks===== | =====Weblinks===== |
db/sql.txt · Zuletzt geändert: 2022/11/14 17:55 von rp