Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

SQL Grundkurs 1: Die Sprache erlernen

Numerische Spalten

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Am einfachsten lassen sich Kriterien für numerische Spalten definieren. Für Zahlen werden keine Typenkennzeichen verwendet - geben Sie die Werte einfach ein und filtern Sie alles, was kleiner, größer, gleich oder ungleich ist.

Transkript

Wie Sie Daten bei der Rückgabe über ein "Select"- Statement filtern können, zeige ich Ihnen in diesem Film. Beginnen wir damit, Kriterien für numerische Felder festzulegen. Greifen wir dazu auf unsere Artikeltabelle zu und holen uns hier einmal die Artikelnummer, die Bezeichnung, die Artikelgruppe sowie den Verkaufspreis. Wenn wir die Anweisung wie gewohnt ausführen, bekommen wir alle Zeilen, in dem Fall sind das 1112, die in der Tabelle gespeichert sind. Nun möchten wir filtern. Dazu brauchen wir eine neue Klausel, die WHERE-Klausel. Von der Reihenfolge her kommt die WHERE-Klausel immer erst im Anschluss an die FROM-Klausel. D.h., wir erweitern unser bisheriges Konstrukt von SELECT. Was möchte ich? Über FROM. Woher bekomme ich es? Über die neue dritte Station sozusagen, nämlich das WHERE. Nach welchen Kriterien soll es gefiltert werden? Die WHERE-Klausel besteht aus logischen Ausdrücken, die entweder "wahr" oder "falsch" auswerten. D.h., die Bedingung muss immer erfüllt sein, oder nicht. Wenn sie erfüllt ist, wird der Datensatz angezeigt, wenn sie nicht erfüllt ist, eben nicht. Z.B. möchten wir nur jene Artikel anzeigen, bei denen der Verkaufspreis über 400 Euro liegt, oder mindestens 400 Euro beträgt. Also Verkaufspreis = 400. Wenn es sich um Spalten mit einem numerischen Datentyp handelt, müssen die Vergleichswerte, so wie hier, auch als Nummer eingegeben werden. Wenn diese Bedingung, dass der Verkaufspreis größer als 400 ist, oder = 400, erfüllt ist, wird die Zeile angezeigt, sonst eben nicht. Ich führe jetzt diese Anweisung aus, und wir bekommen in dem Fall deutlich weniger Ergebniszeilen zurückgeliefert als bisher, nämlich nur noch sechs Artikel. Diese sechs Artikel entsprechen dem Kriterium. Wenn wir genau schauen, sehen wir, dass der erste, der hier dabei ist, mit 434 Euro doch deutlich über der Grenze liegt. D.h., es gibt einfach nicht mehrere Datensätze, die diesen Kriterien entsprechen, und z.B. auch exakt 400 Euro, oder nur sehr knapp über 400 Euro kosten. Wichtig ist zu berücksichtigen, dass wir hier immer eine englische Syntax verwenden. Das kommt dann zum Tragen, wenn wir hier z.B. nach Kommastellen filtern. Jetzt habe ich z.B. 434,95, dann ist es ganz wichtig, dass ich hier als Komma-separatete Zahl einen Punkt, und nicht eben ein Komma eingebe. Bei einem Komma würde ich einen Syntaxfehler bekommen, denn ein Komma hat in SQL die Bedeutung, dass es mehrere Spalten oder Aufzählungen voneinander trennt, so wie das hier der Fall ist. Hier müssen wir den Punkt als Kommaseparator verwenden. Wenn ich diese Variante nun ausführe, dann sehen wir, dass gerade diese zwei Preise mit 434.95 im Ergebnis noch enthalten sind. Würde ich hingegen z.B. "=" durch "<" ersetzen, dann müssten diese beiden Datensätze nun verschwinden, und das Ergebnis beschränkt sich jetzt nur noch auf diese 4 Treffer. Wichtig ist außerdem, dass Sie immer Datentyp-adäquat agieren. Was meine ich damit? Sie könnten jetzt natürlich auch auf folgende Idee kommen: Sie schreiben hier die 434.95 unter einfache Hochkomma. Wenn wir diese Anweisung ausführen, liefert sie auf den ersten Blick auch dasselbe Ergebnis. Das ist auch korrekt so. Allerdings sollten Sie sich so etwas nicht angewöhnen. Warum? Im Prinzip ist das, was wir hier hingeschrieben haben, falsch. Weil Sie vergleichen jetzt hier eine Zahl mit einem Text. In dem Fall hat uns das System sozusagen gerettet, denn es hat implizit diesen Text in eine Zahl konvertiert. Und deshalb hat die Anweisung auch funktioniert. Aber das heißt noch lang nicht, dass diese Form der Anweisung so sauber und korrekt ist. Sie funktioniert zwar, weil jemand anderer für uns den Fehler behebt, aber man bringt sich mit solchen Dingen falsche Dinge bei, und das sollten Sie vermeiden. Ich vergleiche das immer ganz gern mit dem Autofahren. Natürlich könnten Sie auch sagen: Ich fahre heute in der Früh im Retourgang zur Arbeit. Auch dann kommen Sie irgendwann einmal am Arbeitsplatz an. Aber Sie würden daraus, dass es funktioniert hat, nicht schließen, dass das eine korrekte und immer zu realisierende Vorgangsweise ist. Dasselbe hier. Achten Sie bitte auf Datentypen! Dass dies nicht immer funktionieren muss, kann ich Ihnen ganz einfach am Beispiel von Oracle zeigen. Ich kopiere mir diese letzten zwei Anweisungsvarianten nun in den Oracle-Editor. Betrachten wir, was hier passiert: Die erste Variante, die korrekte Variante, wird natürlich auch hier sauber zu einem Ergebnis führen. Wir haben hier diese vier Ergebniszeilen bekommen. Allerdings bessert in diesem Fall Oracle unseren Fehler nicht aus, und diese zweite Variante, die beim Microsoft SQL sogar noch funktioniert hat und auch bei MySQL funktionieren würde, funktioniert hier nicht. Und wir bekommen hier eine Fehlermeldung: "Invalid Number". Wenn Sie also nach Zahlen filtern, egal welchen Operator Sie verwenden, ob , <, -≠, =, <=, verwenden Sie Zahlen immer in der richtigen Syntax.

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!