SQL Grundkurs 2: Aufgaben und Lösungen

Beispiel 7: UPDATE mit Berechnung

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Erhöhen Sie die Gehälter der Mitarbeiter aus der Abteilung Einkauf um 3,5% und runden Sie die Erhöhung dabei auf ganze zehn Euro.

Transkript

Mit diesem Video starten wir die Beispiele zum Update. Bei diesem Beispiel geht es darum, dass wir die Gehälter, die wir in der Personaltabelle finden, für die Mitarbeiter aus der Abteilung Einkauf um 3,5 Prozent erhöhen. Dabei soll diese Erhöhung auf ganze zehn Euro gerundet werden. in der Spalte "GEHALT" finden wir das aktuelle Gehalt. Sie sehen hier beispielsweise die Erhöhung auf zehn Euro gerundet, und hier den Wert der herauskommen soll. Der "Lorenz Meister" soll dabei z. B. eine Gehaltserhöhung von 2120 Euro auf letztendlich 2190 Euro bekommen. Pausieren Sie nun das Video und lösen Sie die Aufgabe. Wenn Sie damit fertig sind, fahren Sie mit dem Video fort und sehen Sie sich meine Musterlösung an. Betrachten wir uns nun die Auflösung für dieses Beispiel. ich habe hier mit diesem SELECT vorweg das Wunschergebnis angezeigt. ich habe also die Erhöhung mit dem Ausdruck "ROUND(gehalt*0,035)" ausgegeben. Mit "-1" als Parameter für die ROUND-Funktion, habe ich definiert, dass ich das Ganze auf eine Vorkomma-, also auf Zehner genau gerundet haben möchte. Den selben Ausdruck habe ich hier verwendet, und zum Gehalt dazugerechnet. Um Rundungsfehler eventuellerweise auszuschließen, habe ich extra... weil wir in der Angabe ja definiert haben, dass wir die Erhöhung runden wollen und nicht das Endergebnis ... den gerundeten Betrag ergänzt. Sonst hätte ich auch hier schreiben können "gehalt * 1,035" und danach runden. Betrachten wir uns nun das Ergebnis mit einem Update. Das ist das Update, das die eigentliche Lösung des Beispiels darstellt. "UPDATE wawi.personal" also der Name der Tabelle "personal", und "SET gehalt =" und genau der Ausdruck, den wir vorher schon gesehen haben, "gehalt + ROUND(gehalt * 1,035)". Jetzt habe ich gerade noch gesehen, dass das natürlich ein tragischer Tippfehler ist, da würden wir eine riesen Gehaltserhöhung verteilen, wenn wir hier "1,035" als Erhöhung geben, dann hätte wir nämlich eine Verdopplung des Gehaltes. Also "gehalt + gehalt * 0,035" und "-1" um das Ganze auf Zehner zu runden. Damit wir nur an jene diese Erhöhung vergeben, die in der Abteilung Einkauf arbeiten, die WHERE-Klausel "WHERE abtlg = 'EK' ". Ich führe nun diese Anweisung aus. Wir merken uns "2.190", Ziel für "Lorenz Meister". Nachdem ich das nun ausgeführt habe, kontrolliere ich, bevor die Transaktion beendet ist, in der Tabelle. Und wir sehen, dass Lorenz Meister tatsächlich ein Gehalt von 2.190 bekommt. Da das soweit passt, bestätige ich die Transaktion mit einem COMMIT. Die Lösungen unter*MySQL und dem Microsoft SQL Server sehen genau ident aus, zumal auch die ROUND-Funktion bei allen drei Systemen dieselbe Syntax aufweist. Vergessen Sie beim Update niemals die WHERE-Klausel, um zu definieren, welche Zeilen ubgedatet werden sollen.

SQL Grundkurs 2: Aufgaben und Lösungen

Vertiefen Sie Ihre SQL-Kenntnisse. In diesem Workshop erhalten Sie zahlreiche Beispielaufgaben, die Sie selbst lösen können. Anschließend zeigt Ihnen der Trainer die Lösung.

7 Std. 41 min (61 Videos)
Derzeit sind keine Feedbacks vorhanden...

Dieses Training setzt SQL-Kenntnisse voraus, wie sie beispielsweise in „SQL lernen und anwenden“ vermittelt werden.

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!