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

Bereiche: BETWEEN

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Alle Werte im Bereich von/bis gefällig? Legen Sie mit BETWEEN die Grenzwerte fest und filtern Sie danach alles, was in diesem Wertebereich zu finden ist.

Transkript

In diesem Film möchte ich Ihnen zeigen, wie Sie den speziellen SQL-Operator BETWEEN verwenden, um Wertebereiche zu filtern. Dazu möchte ich folgendes Beispiel verwenden: Wir möchten Artikel mit einem Preis von 100 bis 110 Euro aus unserer Artikeltabelle selektieren. BETWEEN verwendet eine Unter- und Obergrenze, um einen Bereich zu definieren. Aus unserer "Artikeltabelle" holen wir uns wieder "Artikelnummer", "Bezeichnung", "Artikelgruppe" und den "Verkaufspreis", den wir eben filtern möchten. Und nun kommt es zur WHERE-Klausel. Der Operator BETWEEN muss den unteren Wert immer zuerst angeben, den kleineren, in dem Fall 100, gefolgt wird er von einem UND und danach dem größeren Wert. In unserem Beispielsfall den Wert 110. Damit würden wir alle Artikel, die einen Preis von 100 bis 110 Euro aufweisen, filtern. Entscheidend ist dabei, dass die Grenzwerte immer inklusive sind. Wir bekommen hier für das erste Mal 18 Treffer mit Preisen von Artikeln in diesem Preisbereich. Wichtig ist, wie erwähnt, dass der kleinere Wert immer zuerst angegeben werden muss. Würde ich nämlich die Werte vertauschen und die Definition legen auf "BETWEEN 110 und 100", bekommen wir zwar keinen Fehler, weil es ja kein Syntaxfehler ist, aber ein logischer Fehler, die Bedingung wird nie wahr, und wir können auf diese Art und Weise keinen Treffer bekommen. Wenn wir uns die Ergebnisse noch einmal ansehen, dann haben wir jetzt zum Beispiel hier Artikel mit diesen beiden Preisen dabei: 108.79 Euro sowie 107.92 Euro. Wenn ich jetzt diese exakten Werte verwende, das heißt, ich schreibe zwischen "107.92" - achten Sie bitte darauf, dass Sie den Punkt hier als Komma-Seperator verwenden - und "108.79", dann müssen diese Werte nach wie vor im Ergebnis enthalten sein. Das ist der Fall, weil bei BETWEEN Grenzwerte immer inklusive sind. Sobald ich jetzt hier einen "1" ergänze, dann müssten jetzt einige Artikel aus dem Ergebnis herausfallen und das ist auch der Fall, wir haben jetzt nicht mehr 18, sondern nur mehr 16 Zeilen, zufällig alle mit dem selben Preis hier. Genauer genommen wäre das Äquivalent für diese Anweisung, also: Das BETWEEN bedeutet, dass der Verkaufspreis in unserem Beispielsfall "größer gleich", weil ja inklusive des Grenzwertes "110" ist - und als Zweitbedingung  UND oder AND um mehrere Teilbedingungen zu einer Gesamtbedingung zusammenzufügen lernen Sie in einem anderen Video noch kennen - und "Verkaufspreis kleiner gleich 110". Das wäre eben die äquivalente Variante und liefert exakt dasselbe Ergebnis wie der Einsatz des Operators BETWEEN. BETWEEN verwenden Sie in der Praxis sinnvollerweise für numerische Datentypen und für Datumsdatentypen. Natürlich ist es bei "Character"-Datentypen auch möglich, nur in der Praxis kommt es eher selten vor, zumal Sie auch selten "größer" und "kleiner" in Kombination mit "Charactern" verwenden, da kommt der eher LIKE zum Einsatz. Und weil es deshalb äußerst selten ist, möchte ich das hier jetzt auch nur erwähnen und kein Beispiel dazu zeigen, denn wir konzentrieren uns auf die Dinge, die häufig vorkommen. Aber prinzipiell ist es natürlich möglich, dass Sie BETWEEN für "Character" verwenden. Betrachten wir noch das Ganze mit einem Datumsbeispiel: Ich verwende dazu wieder unsere "Personaltabelle" und möchte diesmal das Geburtsdatum verwenden. Und zwar möchte ich alle Mitarbeiter, die in den 80ern - natürlich des vorigen Jahrhunderts - geboren sind. "Select * from Wawi.Personal", nehme "Personalnummer", "Nachname", "Vorname" sowie das "Geburtsdatum". "WHERE", und in dem Fall verwende ich jetzt das "Geburtsdatum" als Filterkriterium "BETWEEN", und zwar möchten wir alle, bei denen das Geburtsdatum zwischen dem 01.01.1980 und dem 31.12.1989 liegt. Und damit bekommen wir in dem Fall acht Treffer. Diese acht Mitarbeiter aus der Personaltabelle sind in den 80ern geboren. Wenn wir das exakt machen möchten mit dem Datumsformat, dann sollten wir natürlich hier eine explizite Konvertierung, so wie wir sie schon kennengelernt haben, einsetzen. Dazu verwenden wir beim Microsoft SQL-Server die CONVERT-Funktion, um das Ganze in ein "Datetime" zu konvertieren mit dem deutschen Format mit dem Kürzel 104. Aus Platzgründen mache ich hier einen Zeilenumbruch, um das Ganze besser lesen zu können. Ich kopiere mir diesen Anweisungsteil hier gleich herunter, dann bin ich etwas schneller in der Eingabe und habe somit diese Variante sauber gelöst. Lediglich die Konvertierung des Datums in einen Text unterscheidet sich bei den anderen beiden Datenbank-Managementsystemen, wenn wir hier Oracle einsetzen, dann muss natürlich die CONVERT-Funktion durch die Funktion "TO_DATE" ersetzt werden, indem wir das sauber in ein Datum konvertieren. Auch hier noch einmal dasselbe mit "TO_DATE". Und auch hier wieder dieses Format hier und damit haben wir auch für Oracle die passende Lösung. BETWEEN ansonsten ist ja ANSI SQL, einheitlich gibt es keinen Unterschied. Abschließend dasselbe Beispiel noch in MySQL gelöst. Hier ändert sich ja auch wieder nur die Umwandlung, weil die Funktion hier anderslautend ist. "STR_TO_DATE" ist ja hier die Funktion. Und auch das Format muss ja etwas anders angegeben werden. Das bessere ich auch hier beim zweiten Datum noch aus, und dann bekommen wir auch hier unsere acht Treffer, also dasselbe Ergebnis. Verwenden Sie in der Praxis also BETWEEN um Bereiche "von-bis", inklusive der Grenzwerte, zu filtern. Typischerweise verwenden Sie BETWEEN in der Praxis für numerische Werte und für Datumswerte. Bei der Eingabe von Datumswerten gelten natürlich die allgemeinen Regeln bezüglich der Eingabe des Formates eines Datums. Das ist das Einzige, was sich in diesem Fall zwischen SQL-Server, Oracle und MySQL unterscheidet, da eben die Konvertierungsfunktionen eine andere Syntax aufweisen.

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!