Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

SQL Grundkurs 1: Die Sprache erlernen

Löschkriterien aus einer anderen Tabelle einsetzen

Testen Sie unsere 2019 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Ein JOIN ist bei der DELETE-Anweisung nicht vorgesehen. Dennoch können Sie Datensätze löschen und das Löschkriterium in einer anderen Tabelle finden. Sehen Sie in diesem Film, wie Sie dazu Unterabfragen einsetzen.

Transkript

In diesem Video zeige ich Ihnen, wie Sie Datensätze löschen können, für die die Kriterien für das Löschen in einer anderen Tabelle zu finden sind. Wir möchten z.B. alle Interessen von Kunden aus Deutschland löschen. Wenn wir jetzt direkt in die Tabelle "Kundeninteressen" hineinschauen, dann finden wir hier natürlich keinen Hinweis darüber, aus welchem Land der oder die Kunde(n) stammen, für die dieses Interesse hier erfasst ist. Hier haben wir von Kunden nur die Kundennummer, D.h., diese Information, aus welchem Land ein Kunde kommt, finden wir eigentlich nur in der Tabelle "Kunden". D.h., löschen wollen wir eigentlich in den "Kundeninteressen" und in der Tabelle "Kunden" finden wir das Kriterium dazu. Wie können wir das lösen? Anders als bei der "Update-Anweisung" ist es beim "DELETE" nicht möglich, einen "Joint" zu verwenden. D.h., Sie müssen das Ganze über eine "Unterabfrage" realisieren. Also: Wir löschen in der Tabelle "Kundeninteressen" "WHERE"; und wir können hier lediglich die Kundennummer als Kriterium verwenden und brauchen jetzt eine Unterabfrage, die uns alle Kundennummern von Kunden aus Deutschland liefert. "IN" verwenden wir, weil wir ja mehrere Werte hier von dieser "Unterabfrage" zurückbekommen können und verwenden die Anweisung "SELECT kdnr from wawi.kunden WHERE" und hier kommt jetzt die Bedingung, dass es sich um Kunden aus Deutschland handeln sollte. "WHERE land = D". Also liefert uns diese "Unterabfrage" eine Liste. Ich führe es einmal separat aus, damit wir es sehen, der Kundennummern, die deutsche Kunden betreffen. Diese werden an die Tabelle "Kundeninteressen" bzw. an das Lösch-Statement für die Tabelle "Kundeninteressen" übergeben. Alle Interessen von deutschen Kunden werden also gelöscht, sofern wir diese Anweisung nun ausführen. Wir bekommen die Rückmeldung: "Zwanzig Zeilen sind gelöscht worden." Das sind nicht alle, aber jetzt finden wir nunmehr Interessen von Kunden aus anderen Ländern. Die Tabelle ist nicht leer, aber Sie sehen: Die Anzahl der Einträge, die in der Tabelle verblieben sind, ist recht mager. Wenn Sie also Kriterien, nach denen Datensätze zu löschen sind, nicht in derselben Tabelle finden, sondern in einer anderen Tabelle, müssen Sie in der "WHERE-Klausel" der "DELETE-Anweisung" eine "Unterabfrage" verwenden um diese Informationen zu bekommen. Sie können in einer "DELETE-Anweisung" keinen "Joint" verwenden.

SQL Grundkurs 1: Die Sprache erlernen

Arbeiten Sie sich in die Grundlagen der Datenbanksprache SQL am Beispiel von Microsoft SQL Server, Oracle und MySQL ein und lassen Sie sich die praktische Nutzung erklären.

14 Std. 40 min (112 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!