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

SQL Grundkurs 1: Die Sprache erlernen

Bedingung umkehren: NOT

Testen Sie unsere 2017 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Nicht nur im echten Leben benötigt man dann und wann genau das Gegenteil. Bei einer SQL-Anweisung bekommen Sie das Gegenteil, wenn Sie NOT in der WHERE-Klausel einsetzen.

Transkript

Dieses Video verwende ich dazu, Ihnen zu zeigen, wie Sie Bedingungen logisch umkehren können. Die logische Umkehrung eines Kriteriums reduziert über die Anweisung "NOT", also nicht. Damit können Sie jedes beliebige Ergebnis invertieren und genau das Gegenteil erzielen. Dazu habe ich mir ein paar Anweisungen, die wir schon verwendet haben, hier zusammenkopiert, um Ihnen zu zeigen, wie Sie jeweils das Gegenteil erzielen könnten, z.B. hier diese Anweisung, die alle Artikel filtert, die einen Verkaufspreis ab 400 Euro, also "größer gleich 400 Euro" aufweisen. Damit werden diese sechs Datensätze gefiltert. Wie können wir nun dieses Ergebnis umkehren? Also alle die nicht mehr als 400 Euro kosten. Selbstverständlich können Sie direkt den Operator wechseln und sagen, das Gegenteil wäre natürlich, wenn ich statt "größer gleich" "kleiner" verwende. Ich möchte Ihnen hier die Verwendung von "NOT" zeigen und mache das deshalb hier wieder rückgängig. Ich kehre jede beliebige Bedingung um, indem ich am Beginn der Bedingung ein "NOT" ergänze. Das heißt, "WHERE NOT VK-Preis größer gleich 400", dort wo der Verkaufspreis nicht größer gleich 400 ist. Wenn ich diese Anweisung ausführe, bekomme ich genau alle anderen, die etwas über 1100 Artikel, die eben nicht mehr als 400 Euro kosten. Das bezieht sich aber jetzt nicht nur auf numerische Datentypen, sondern natürlich auch auf Character- oder Datums-Datentypen. Sie sehen hier eine Anweisung, die hier alle Mitarbeiter aus der Abteilung "Verkauf" herausfiltert. Wenn wir nun alle sehen wollen, die nicht im Verkauf sind, können wir natürlich wieder sagen, "Abteilung ungleich Verkauf" oder wird drehen einfach die Bedingung um. Ich ergänze hier in der SELECT- Klausel noch die Spalte "Abteilung", damit wir auch sehen, dass das jeweils eine andere ist. Ich führe die Anweisung vielleicht vorweg noch einmal aus, dann sehen wir, dass hier immer "Verkauf" angezeigt wird und wieder, wenn ich an den Beginn der Anweisung "NOT" ergänze, dann haben wir hier genau das Gegenteil. Ich führe die Anweisung aus und wir haben jetzt alle aus allen anderen Abteilungen, alle nur nicht jene aus dem Verkauf. Die Form "ungleich" haben wir ja gesehen. Alle Bestellungen zum Beispiel, die den Status "ungleich 2" aufweisen, wären die eine mit dem Status 1 und hier sehen wir natürlich auch, dass ich diese Form jetzt auch an Stelle des "Ungleichs" hier mit einem "NOT" am Beginn realisieren könnte. Diese zwei Varianten liefern exakt dasselbe Ergebnis. Gehen wir nun zu einem nächsten Beispiel. "NOT" kann für die speziellen SQL Operatoren wie "LIKE" und so weiter verwendet werden. Ich habe hier z.B. eine Anweisung, die alle Artikel filtert, deren Bezeichnung zumindest ein "e" enthält. Das sind sehr viele, die meisten der Artikel. Um jetzt dieses Ergebnis umzukehren, sprich alle anzuzeigen, die nicht ein "e" enthalten, ergänze ich hier vor der Bedingung wiederum wie gewohnt ein "NOT". Damit bekommen wir in dem Fall 53 Artikel, die kein "e" in ihrer Artikelbezeichnung aufweisen. Einen Unterschied gibt es aber bei diesen SQL spezifischen Operatoren gegenüber den klassischen Operatoren, so wie "ist gleich" oder "ungleich". Das "NOT" kann nicht nur an den Beginn der Bedingung gesetzt werden, sondern wahlweise auch direkt vor den Operator. Was bei den klassischen Operatoren nicht möglich ist. Ich kann also auch schreiben WHERE- Bezeichnung "NOT LIKE", also "nicht wie e". Mir persönlich gefällt diese Variante deutlich besser, da sie aus meiner Sicht auch sprechender ist. Sie liefert exakt das gleiche Ergebnis. Zum Vergleich, würde ich das "NOT" hier bei einem klassischen Operator vor das Gleichheitszeichen stellen, bekomme ich einen Syntaxfehler beim Ausführen. Das ist also nicht möglich. Dasselbe gilt natürlich nicht nur für "LIKE" sondern auch für "BETWEEN". Hier haben wir eine Anweisung, die uns alle Artikel mit einem Preis zwischen 200 und 400 Euro filtert. Das sind 14 Zeilen. Wenn ich diese Bedingung umkehre, bekomme ich genau alle anderen. Auch hier kann ich wieder das "NOT" wahlweise am Beginn vor der ganzen Bedingung setzten oder eben, so wie es mir besser gefällt, direkt vor das "BETWEEN", "WHERE VK-Preis NOT BETWEEN". Bei "BETWEEN" muss man berücksichtigen, dass es ja die Grenzwerte enthält. D.h., wenn wir die Bedingung umkehren mit "NOT BETWEEN" haben wir das Ganze ohne die Grenzwerte, d.h. in dem Fall wären Preise von exakt 200 oder 400 Euro nicht mit im Ergebnis. Aber alle, die darunter liegen bzw. diejenigen, die darüber liegen werden hier im Ergebnis nun angezeigt. Ich sortiere nun ausnahmsweise das Ergebnis. Damit wir bereits hier die Artikel über 400 auch zu Gesicht bekommen. Damit sehen wir jetzt, es gibt hier welche, die mehr als 400 Euro kosten. Hier ist dann der Sprung und dann geht es erst unter 200 Euro wieder weiter. Dasselbe abschließend gilt natürlich auch für das "IN". "IN" liefert uns ja alle, die zumindest einem oder in dem Fall genau einem dieser Werte entsprechen, d.h. alle Artikel der Gruppen "Besteck", "Geschirr" und "Kochgeschirr". Und wenn wir hier das "NOT" verwenden, entweder am Beginn der gesamten Bedingung oder vor dem "IN", bekommen wir alle aus allen anderen Gruppen "Haushalt", "Garten" usw. Sie können also jedes Ergebnis, das Sie erzielen mit einem Kriterium, invertieren, indem Sie mit dem logischen Operator "NOT" das Ganze umkehren. Sie können bei den speziellen SQL Operatoren "NOT" entweder direkt vor den Operator oder an den Beginn der Bedingung setzen. Bei den klassischen Vergleichsoperatoren müssen Sie das "NOT" immer vor den gesamten Ausdruck setzen. Bei diesen Varianten gibt es keinen Unterschied zwischen Microsoft SQL Server, Oracle und MySQL.

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!