24th Nov 2022 4 Leseminuten AND-, OR- und NOT-Operatoren in SQL verwenden Andrew Bone SQL-Operatoren Inhaltsverzeichnis SQL AND-Syntax SQL OR-Syntax SQL NOT-Syntax Kombinieren der Operatoren AND, OR und NOT Erweitern Sie Ihr SQL mit den Operatoren AND, OR und NOT ANDDie Operatoren AND, OR, OR und NOT sind wichtige logische Operatoren in SQL. Sie helfen Ihnen, die Bedingungen zu kombinieren, die zum Filtern von Datensätzen verwendet werden. Sie werden am häufigsten in Verbindung mit den Klauseln WHERE oder HAVING Klauseln verwendet. Außerdem ist dieses Thema eine ziemlich häufige Frage in einem SQL-Bewerbungsgespräch. Damit Sie diese Operatoren vollständig verstehen, führe ich Sie durch einige Beispiele, in denen ich die Syntax und den Zweck der einzelnen Operatoren ausführlich erkläre. Das Üben an Beispielen wie diesen ist eine der besten Methoden, um SQL zu lernen. Stellen Sie sich vor, dass wir ein Fitnessstudio mit verschiedenen Standorten in den Vereinigten Staaten betreiben und besitzen. Wenn sich jemand anmeldet, gibt er uns einige grundlegende Informationen. Diese werden in unserer members gespeichert, die eine eindeutige ID für jedes Mitglied enthält, zusammen mit dem Vor- und Nachnamen, dem Alter, dem Eintrittsdatum und dem Standort des Fitnessstudios. idFirstNameLastNameAgeDateJoinedLocation 1WillSmith522020-08-23Los Angeles 2BradPitt562018-06-15San Francisco 3TomHanks642017-02-27San Diego 4AngelinaJolie452019-04-02Los Angeles 5MerylStreep712014-03-21Manhattan SQL AND-Syntax Die Syntax für den AND Operator lautet: SELECT column_1, column_2, … column_n FROM table WHERE condition_1 AND condition_2 AND condition_n Wenn mehrere Bedingungen mit dem Operator AND kombiniert werden, werden alle Zeilen zurückgegeben, die alle angegebenen Bedingungen erfüllen. Nun ist es an der Zeit, den AND Operator auf unser Fitnessstudio-Szenario anzuwenden. Angenommen, wir möchten alle Mitglieder finden, die unter 50 Jahre alt sind und in Los Angeles leben. Wie können wir dies mit einer SQL-Abfrage erreichen? SELECT * FROM members WHERE Age < 50 AND Location = 'Los Angeles'; idFirstNameLastNameAgeDateJoinedLocation 4AngelinaJolie452019-04-02Los Angeles Obwohl wir zwei Mitglieder mit dem Location von Los Angeles haben, ist nur eines dieser Mitglieder unter 50 Jahre alt ( Age ). Denken Sie daran, dass bei Verwendung des SQL-Operators AND beide Bedingungen erfüllt sein müssen, damit ein Datensatz zurückgegeben werden kann. SQL OR-Syntax Die Syntax für den OR Operator lautet: SELECT column_1, column_2, … column_n FROM table WHERE condition_1 OR condition_2 OR condition_n Wenn mehrere Bedingungen mit dem Operator OR kombiniert werden, werden alle Zeilen zurückgegeben, die eine der angegebenen Bedingungen erfüllen. Wir können dies auf unsere members Tabelle anwenden, indem wir die folgende Abfrage schreiben: SELECT * FROM members WHERE Location = 'Los Angeles' OR LastName = 'Hanks' Mit dieser Abfrage möchten wir Zeilen abrufen, in denen LastName Hanks oder Location Los Angeles ist. Die Ausführung dieser Abfrage führt zu folgendem Ergebnis: idFirstNameLastNameAgeDateJoinedLocation 1WillSmith522020-08-23Los Angeles 3TomHanks642017-02-27San Diego 4AngelinaJolie452019-04-02Los Angeles Beachten Sie, dass unser Mitglied Tom Hanks in der Ergebnismenge enthalten ist, obwohl sein Fitnessstudio Location nicht Los Angeles ist. Das liegt daran, dass er die zweite von uns angegebene Bedingung erfüllt - sein Nachname ist "Hanks". Denken Sie daran: Wenn Sie den SQL-Operator OR verwenden, werden alle Zeilen zurückgegeben, die eine der angegebenen Bedingungen erfüllen. SQL NOT-Syntax Die Syntax für den NOT Operator lautet: SELECT column_1, column_2, … column_n FROM table WHERE NOT condition Wenn mehrere Bedingungen mit dem Operator NOT kombiniert werden, werden alle Zeilen zurückgegeben, die die angegebenen Bedingungen nicht erfüllen. Wir können diesen Operator in unserem Fitnessstudio-Beispiel auf verschiedene Weise verwenden. Was wäre, wenn wir alle unsere Mitglieder außerhalb von Los Angeles finden wollten? Mit dem Operator NOT können wir einfach schreiben: SELECT * FROM members WHERE NOT Location = 'Los Angeles' Wenn wir diese Abfrage ausführen, erhalten wir den folgenden Datensatz: idFirstNameLastNameAgeDateJoinedLocation 2BradPitt562018-06-15San Francisco 3TomHanks642017-02-27San Diego 5MerylStreep712014-03-21Manhattan Sie können deutlich sehen, welche Auswirkung der NOT Operator hatte. Es wurden keine Mitglieder zurückgegeben, deren Location auf Los Angeles eingestellt war. Kombinieren der Operatoren AND, OR und NOT Es gibt bestimmte Situationen, in denen Sie diese Operatoren kombinieren müssen, um genau die gewünschten Daten zu bestimmen. Hier ist unsere members Tabelle; das ist der Datensatz, den wir für dieses Beispiel abfragen werden. idFirstNameLastNameAgeDateJoinedLocation 1WillSmith522020-08-23Los Angeles 2BradPitt562018-06-15San Francisco 3TomHanks642017-02-27San Diego 4AngelinaJolie452019-04-02Los Angeles 5MerylStreep712014-03-21Manhattan Nehmen wir an, wir wollen die Daten von Mitgliedern abrufen, die ganz bestimmte Kriterien erfüllen. Wir wollen Mitglieder, die sind: Über 50 Jahre alt sind. Die in Los Angeles oder Manhattan wohnen. Um dies zu erreichen, können wir die folgende SQL-Abfrage schreiben: SELECT * FROM members WHERE AGE > 50 AND (Location='Los Angeles' OR Location='Manhattan') Beachten Sie, dass wir Klammern verwendet haben, um unsere Operatoren zu gruppieren. Dadurch weiß SQL genau, wie die Reihenfolge unserer Operatoren zu interpretieren ist. Das Ergebnis dieser Abfrage ist: idFirstNameLastNameAgeDateJoinedLocation 1WillSmith522020-08-23Los Angeles 5MerylStreep712014-03-21Manhattan Sie können sehen, wie die Kombination der Operatoren AND, OR und NOT auf unterschiedliche Weise dazu beitragen kann, unsere Daten präzise zu filtern. Erweitern Sie Ihr SQL mit den Operatoren AND, OR und NOT Sie haben nun die Möglichkeit, genau die Daten abzurufen, die Sie benötigen. Dies eröffnet Ihnen viele Möglichkeiten. Sie können die Klausel WHERE in Verbindung mit AND, OR und NOT verwenden, wodurch Sie Ihre SQL-Abfragen sehr präzise gestalten können. Die Lektüre unserer Blogbeiträge ist eine gute Möglichkeit, die SQL-Syntax zu erlernen und die verschiedenen Szenarien kennenzulernen, in denen SQL nützlich sein kann. Wenn Sie jedoch eine wirklich umfassende Anleitung zum Schreiben von Abfragen wünschen, sollten Sie unseren SQL für Anfänger Kurs, der Ihnen viele praktische Übungen bietet. Tags: SQL-Operatoren