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 10: Mehrere Kriterien mit AND und OR

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Gefragt sind Kundinnen aus Deutschland sowie Kunden aus Österreich, die auf Lieferschein einkaufen dürfen und nicht gesperrt sind.

Transkript

In diesem Beispiel üben wir die Priorität von und und oder in einer WHERE-Klausel. Folgendes möchten wir hier tun: wir möchten einerseits die Kundinnen aus Deutschland, das heißt weiblich, sowie Kunden aus Österreich, also männlich, filtern, die auf Lieferschein einkaufen dürfen und nicht gesperrt sind. Wie erkennen wir diese in der Datenbank? Ich habe hier aus der Tabelle kunden, die brauchen wir für dieses Beispiel, nachname, vorname, Firmenbezeichnung (firma 1), geschlecht, Länderkennzeichen (land), lieferschein und gesperrt selektiert Im geschlecht können wir unterscheiden zwischen männlich und weiblich, 1 ist das Kürzel für weiblich, 2 für männlich, 4 und 5 sind Firma und Institution und auch 3 für Familie benötigen wir hier für dieses Beispiel nicht, nur 1 und 2 sind von Relevanz. Um auf Deutschland und Österreich filtern zu können, brauchen wir das Länderkennzeichen. Bei den Österreichern finden wir ein A, bei den Deutschen ein D. Lieferschein ja und nein - 1 steht für wahr, 0 für falsch, also jeder der in der Spalte lieferschein einen Einser (1) stehen hat, der darf auf Lieferschein einkaufen, und muss nicht sofort bar bezahlen. Zusätzlich kann es Kunden geben, die gesperrt sind. Die haben in der Spalte gesperrt einen Einser (1), Einser steht für wahr, 0 für falsch. Was wir also möchten sind einerseits Kunden, die männlich sind und hier ein A stehen haben, diese zwei Bedingungen müssen gemeinsam gelten, genauso wie 1 mit D gekoppelt sein muss - diese wollen wir. Egal, ob das eine oder andere der Fall ist, auf jeden Fall muss immer lieferschein auf 1 und gesperrt auf 0 im Ergebnis auftauchen. Das heißt, wenn wir uns das Ergebnis anschauen, kommen diese drei hier heraus, wir haben die Stephanie Thaller, die auf Lieferschein einkaufen kann, und nicht gesperrt ist und in Deutschland wohnt, sowie die Ursula Sauber, Gerald Krischan aus Österreich darf ebenso auf Lieferschein einkaufen, und ist nicht gesperrt. Das ist das Ergebnis. Achten Sie auf die Priorität der Operatoren, und verwenden Sie gegebenenfalls Klammern. 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 hier die Lösung für diese Aufgabenstellung. Diese hier enthält keine Produktspezifika, und ist daher unter Microsoft SQL Server, Oracle und MySQL ident. Zur bereits angezeigten SELECT-Klausel, ich habe hier die Spalte firma wieder entfernt, denn die benötigen wir hier ja nicht, habe ich jetzt nun die WHERE-Klausel ergänzt. Die erste Bedingung sagt land = 'D' und geschlecht = 1. Zusätzlich die zweite Bedingung, Oder (OR) land = 'A' Und (AND) geschlecht = 2. Länderkennzeichen ist ein Text, deshalb unter einfachem Hochkomma, die Spalte geschlecht ist hier als numerisch definiert, deshalb ohne Hochkomma. Und zusätzlich lieferschein = 1 AND gesperrt = 0. Was würde jetzt passieren, wenn ich diese Klammern hier nicht setzen würde? Wir haben hier AND, AND, AND, OR, AND, dieses OR ist schwächer als die danach folgenden ANDs, das heißt, das würde bedeuten, für die Damen aus Deutschland, gilt die Zusatzeinschränkung lieferschein und gesperrt nicht. Damit also das auch gilt, müssen wir diese zwei Bedingungen zusammenfassen, also hier das Ganze in Klammer setzen, das heißt, einerseits muss einmal diese Bedingung erfüllt sein, nämlich weiblich und aus Deutschland, oder männlich und aus Österreich, und zusätzlich lieferschein = 1, das steht für darf auf Lieferschein einkaufen, und gesperrt = 0, das heißt, ist nicht gesperrt. Und wenn wir diese Anweisung ausführen, dann bekommen wir eben diese drei Ergebniszeilen. Achten Sie also immer darauf, wenn oder und und kombiniert sind, ob die natürliche Priorität ausreicht. Klammern können helfen, denn sie erzwingen die Priorität. Zusätzliche Klammern, um die Lesbarkeit zu erhöhen, können Sie natürlich jederzeit, so wie bei einem mathematischen Ausdruck auch, einsetzen.

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!