~~NOTOC~~ [[dbs:db002|=> Lektion 2: Verknüpfte Tabellen]] ===== Lektion 3: Zusammenführen der Datensätze mit SQL ===== Um Daten aus **zwei** Tabellen zu erhalten, verwendet man diese SQL-Abfrage: SELECT * FROM schueler, lehrer Entsprechende Abfrage für mehr als nur zwei Tabellen. Diese Abfrage liefert allerdings jede mögliche Kombination der Datensätze aus der Tabelle „Schueler“ mit denen der Tabelle „Lehrer“. Es gehören aber nur die zusammen, bei denen das Attribut „KLNr“ der Schüler mit dem Attribut „LNr“ der Lehrer übereinstimmt. Wir schränken daher das Ergebnis ein: SELECT * FROM schueler, lehrer WHERE KLNr = LNr Diese Abfrage liefert nur noch die Datensätze, die zusammenpassen. Jetzt könnte man einerseits die Spalten des Ergebnisses noch einschränken: SELECT SVorname, SNachname, LDienstbez, LNachname FROM schueler, lehrer WHERE KLNr = LNr Zudem könnte man die Anzahl der zurückgegebenen Datensätze noch einschränken: SELECT SVorname, SNachname, LDienstbez, LNachname FROM schueler, lehrer WHERE KLNr = LNr AND SKlasse >= 9 Damit werden nur die Daten der Schüler, die in Klasse 9 oder höher sind, zurückgegeben.\\ \\ Übrigens: Es kann durchaus vorkommen, dass ein Spaltenname in zwei verschiedenen Tabellen vorkommt. Bei einer Abfrage, die diese beiden Tabellen verknüpft, ist dann nicht mehr klar, welche Spalte gemeint ist. In solchen Fällen kann man den Tabellennamen und einen Punkt vor den Spaltennamen setzen, um klarzumachen, welche Spalten gemeint sind: SELECT schueler.SVorname, schueler.SNachname, lehrer.LNachname FROM schueler, lehrer WHERE Schueler.KLNr = Lehrer.LNr AND Schueler.SKlasse >= 9 {{ :htmlcss:work_64.png|}} ==== Übung 7 ==== Importiere die Datenbank {{:dbs:lehrer_schueler.zip|lehrer_schueler.sql}} und vollziehe alle Beispiele aus dem Text nach. Sollte ein Fehler beim Importieren auftreten, liegt es daran, dass bereits eine Tabelle //schueler.sql// in deiner Datenbank vorhanden ist. Lösche diese einfach und importiere danach erneut die //lehrer_schueler.sql// Datei. Erfinde eigene Beispiele und teste diese. {{ :htmlcss:work_64.png|}} ==== Übung 8 ==== Importiere die Datenbank {{:dbs:geographie.zip|geographie.sql}} und bearbeite die Aufgaben auf dem Blatt {{:dbs:ab-geographie.pdf|ab-geographie.pdf}}. {{:dbs:geographie.png?600|}} ---- [[dbs:db004|=> Lektion 4: SQL-Übungen Teil 1]]\\ [[dbs:start|=> Übersicht: Datenbanksysteme]]