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 2: Aufgaben und Lösungen

Beispiel 14: Gleich oder nicht gleich – LIKE und NOT LIKE

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Diesmal sind Artikel gefragt, deren Bezeichnung mit "Frisch" beginnt, die aber nicht rund sind. Auch andere eckige Artikel sollen angezeigt werden. Alle dürfen aber maximal 25 Euro kosten. Gewünscht ist eine Sortierung nach der Artikelbezeichnung.

Transkript

Üben Sie mit diesem Beispiel den Einsatz von LIKE, kombiniert mit einer weiteren Bedingung. Wir verwenden für dieses Beispiel unsere Artikeltabelle, und als Filterkriterien dienen hier die bezeichnung, als auch der Verkaufspreis (vkpreis). Diesmal wollen wir jene Artikel, deren Bezeichnung mit dem Begriff "Frisch" beginnt, so wie hier Frischhaltebox, Frischhaltedose und so weiter. Aber, da wir nur eckige Dosen benötigen, alle die nicht rund sind. Das sind alle jene, bei denen rund zusätzlich in der Bezeichnung auftaucht, das heißt alle die wir hier sehen, da steht zum Beispiel Eckig oder nichts dergleichen drin, aber sollte der Begriff Rund hier vorkommen, sollen sie nicht angezeigt werden. Zusätzlich wollen wir uns einen Überblick verschaffen, was es noch so an eckigen Artikeln gibt, das heißt es sollen alle anderen, die auch in irgendeiner Form den Begriff Eckig in der bezeichnung aufweisen mit angezeigt werden. und zusätzlich, da wir uns ja nicht verausgaben wollen, dürfen nur jene Artikel angezeigt werden, die maximal 25,-- Euro kosten. Sortieren wir das Ergebnis zum Beispiel nach der Artikelbezeichnung, zwölf Zeilen sollten bei diesem Beispiel herauskommen. 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 nun gemeinsam die Lösung für dieses Beispiel. Wir wollten alle Artikel, deren Bezeichnung mit "Frisch" beginnt. Ich habe also deshalb hier verwendet die Einschränkung, bezeichnung LIKE 'frisch%', also am Beginn des Begriffs bezeichnung finden wir frisch. Aber, wir wollten ja alle jene die den Begriff Rund auch noch enthalten, wieder ausschließen, also zusätzlich die zweite Bedingung AND bezeichnung NOT LIKE, also wie bei anderen Vergleichsoperatoren auch, kann ich hier LIKE mit einem NOT kombinieren, also alle die nicht rund enthalten, wird mit NOT LIKE '%rund%' gefiltert. Alternativ wollten wir zusätzlich noch Artikel, die in der bezeichnung den Begriff Eckig aufweisen. daher: OR bezeichnung LIKE '%eckig%'. Da hier die natürliche Priorität zwischen AND und OR ausreicht, dass diese zwei Bedingungen fester zusammen gehören, als diese hier, brauchen wir hier innerhalb dieses Bereiches, keine eigenen runden Klammern, um hier zu trennen, wenn Sie es trotzdem verwenden möchten, ist das kein Problem. Um den gesamten Ausdruck hier herum, benötigen wir allerdings schon runde Klammern, warum - weil wir hier noch eine UND-Bedingung haben, wir haben ja gesagt, alle dürfen maximal 25,-- Euro kosten, also kommt noch zusätzlich dazu: AND vkpreis <= 25. Würden wir hier die Klammern jetzt weglassen, würde diese Einschränkung und vkpreis <= 25 nur für die eckigen Artikel, aber nicht für die frisch Artikel gelten. deshalb hier die Klammer, damit diese Einschränkung für alle gilt. Die Sortierung habe ich hier, wie gewünscht, nach der Artikelbezeichnung vorgenommen, und so bekommen wir mit dieser Anweisung genau diese zwölf Artikel, die entweder eckig sind oder Frischhaltedosen, aber nicht rund, ausserdem finden wir hier keinen Preis, der über 25,-- Euro liegt. Die idente Lösung finden wir unter MySQL und Oracle vor. Eine Kleinigkeit vielleicht bei Oracle, deshalb wechsele ich kurz hier in diesen Editor. Das gleiche Beispiel und im Prinzip die gleiche Lösung. Das Einzige was ich hier ergänzt habe, ist die Funktion LOWER bei der bezeichnung, denn wir müssen ja bei Oracle immer zwischen Groß- und Kleinbuchstaben unterscheiden, da ja das "Frisch" wahlweise auch groß, klein oder anders geschrieben sein könnte, und vor allem auch der Begriff rund und eckig, habe ich hier generell nivelliert und mit der LOWER-Funktion alles vor dem Vergleich in Kleinbuchstaben umgewandelt, und dann mit kleinen Buchstaben verglichen und so bekommen wir dasselbe Ergebnis, unabhängig von der Groß- Kleinschreibung hier bei Oracle. Sie haben also gesehen, dass Sie hier mit LIKE nach Muster vergleichen können, und mit NOT LIKE auch das Gegenteil filtern können, nämlich alle, die nicht so in dem Fall, mit dem Begriff rund ausgestattet sind. So wie bei allen anderen Vergleichsoperatoren auch, können Sie auch hier das NOT einsetzen, dann kommen wir eben zur Form NOT LIKE.

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!