Lösen Sie das Problem der Kombination von AND und OR in MySQL

Lösen Sie das Problem der Kombination von AND und OR in MySQL

Wie unten dargestellt:

Wählen Sie Produktname, Produktpreis aus den Produkten aus, wobei Vend_id = 1002 oder Vend_id = 1003 und Prod_Preis >= 10 ist.

Das von der obigen Anweisung zurückgegebene Ergebnis ist nicht das gewünschte.

analysieren:

Der Grund liegt in der Berechnungsreihenfolge. SQL priorisiert UND-Operatoren vor ODER-Operatoren. Wenn SQL die obige WHERE-Klausel sieht, werden die Operatoren falsch kombiniert, da AND in der Berechnungsreihenfolge eine höhere Priorität hat.

Die Lösung dieses Problems besteht darin, entsprechende Operatoren mithilfe von Klammern explizit zu gruppieren.

Bitte beachten Sie die folgende SELECT-Anweisung

 SELECT Produktname, Produktpreis
    FROM Produkte

    Wobei (Vend_ID = 1002 ODER Vend_ID = 1003) und Produktpreis >= 10;

Zusatzwissen: Mysql | Kombinierte Where-Klausel zum Filtern von Daten (AND, OR, IN, NOT)

MySQL erlaubt die Verwendung mehrerer Where-Klauseln und die Kombination von Where-Klauseln ermöglicht die Verwendung von zwei Methoden: AND- und OR-Klauseln.

Operationssymbole in der Datenbank: AND, OR, IN, NOT.

UND :

Wählen Sie * aus Produkten, wobei Produkte.vend_id = 1003 und Produkte.prod_price <= 10 sind.

ODER :

Wählen Sie * aus Produkten, wobei Produkte.vend_id = 1002 oder Produkte.vend_id = 1003 sind.

IN :

Es wird empfohlen, OR nicht in Klauseln zu verwenden, in denen IN verwendet werden kann. IN hat eine gute Leistung und ist leicht zu verstehen.

Wählen Sie * aus Produkten, wobei Produkte.vend_id in (1002,1003) sind.

NICHT:

MySQL unterstützt NOT nur in der Negation von IN-, BETWEEN- und EXISTS-Klauseln, was sich von den meisten anderen Datenbanken unterscheidet, die verschiedene Bedingungen unterstützen.

Wählen Sie * aus Produkten, wobei Produkte.vend_id nicht in (1002,1003) sind.

Beachten:

In einer Klausel, die sowohl AND als auch OR enthält, priorisiert MySQL AND-Operationen. Es wird im Allgemeinen empfohlen, () zu verwenden, um die Verarbeitungsreihenfolge zu bestimmen und Mehrdeutigkeiten zu vermeiden.

Zum Beispiel:

Wählen Sie * aus Produkten, wobei (products.vend_id = 1002 oder products.vend_id = 1003) und prod_price > = 10;

Der obige Artikel zur Lösung der Probleme, die durch die Kombination von AND und OR in MySQL verursacht werden, ist der gesamte Inhalt, den der Herausgeber mit Ihnen teilt. Ich hoffe, er kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen.

Das könnte Sie auch interessieren:
  • MySQL bedingte Abfrage und/oder Verwendung und Priorität Beispielanalyse
  • Prioritätsanalyse von und/oder Abfragen in MySQL

<<:  So verwenden Sie die Vue-Cache-Funktion

>>:  Implementierung des Deployment-War-Package-Projekts mit Docker

Artikel empfehlen

Die HTML-Tag-ID kann eine Variable sein

<table id=" <%=var1%>">, der...

jQuery implementiert Formularvalidierungsfunktion

Beispiel für die Validierung eines jQuery-Formula...

Linux-Befehl „exa“ (bessere Dateianzeige als „ls“)

Installieren Befolgen Sie zur Installation die RE...

Zusammenfassung der gebräuchlichen Buchstaben in Unicode

Die meisten der ersten Computer konnten nur ASCII...

So visualisieren Sie skizzierte Diagramme in Vue.js mit RoughViz

einführen Ein Diagramm ist eine grafische Darstel...

Neunundvierzig JavaScript-Tipps und Tricks

Inhaltsverzeichnis 1. Betrieb von js Integer 2. S...

Bootstrap 3.0 - Schaltflächenstil für Lernnotizen

In diesem Artikel wird hauptsächlich der Stil der...

Detailliertes Tutorial zum Herunterladen von MySQL unter Windows 10

MySQL-Versionen werden in Enterprise Edition und ...

Tutorial-Analyse der Schnellinstallation von mysql5.7 basierend auf centos7

eins. wget https://dev.mysql.com/get/mysql57-comm...

JavaScript-Countdown zum Schließen von Anzeigen

Verwenden von Javascript zum Implementieren eines...

MAC+PyCharm+Flask+Vue.js-Build-System

Inhaltsverzeichnis Konfigurieren Sie node.js+nvm+...