Tipps zum Mischen von OR und AND in SQL-Anweisungen

Tipps zum Mischen von OR und AND in SQL-Anweisungen

Heute gibt es eine solche Anforderung. Wenn die angemeldete Person ein Kundendienstmitarbeiter ist, wird die Bestellung nach „diesem Kundendienstmitarbeiter“ abgefragt und nach den Bestellungen, die keinem Kundendienstmitarbeiter zugeordnet wurden. Zuerst dachte ich daran, „oder zugewiesene_ID ist null“ direkt in der SQL-Anweisung zu schreiben. Nach dem Testen stellte ich fest, dass in diesem Fall die anderen vorherigen Bedingungen nutzlos sind.

In diesem Fall ist die erste Bedingung i.server_org_id = 4 nicht mehr anwendbar. Daraus können wir erkennen, dass AND eine höhere Priorität hat als OR. Die vorherige AND-Anweisung wird zuerst ausgeführt und dann die folgende OR-Anweisung. Daher sind die abgerufenen Daten nicht die Daten, die ich möchte.

Später dachte ich noch einmal darüber nach und stellte fest, dass ich zuerst die entsprechende zugewiesene ID wie folgt herausfinden konnte

Die einzigen auf diese Weise gefundenen Daten sind die zugewiesene ID 153

Endgültige Version:

Zum Schluss werden alle korrekten Daten ausgelesen. Daraus können wir erkennen, dass () eine höhere Priorität hat als AND. Zuerst wird () ausgeführt, und dann wird AND ausgeführt.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Mysql-Abfrageanweisung mit mehreren Bedingungen und dem Schlüsselwort „And“
  • Abfrageprozess und Optimierungsmethode der (JOIN/ORDER BY)-Anweisung in MySQL
  • MySQL versteht kurz, wie "order by" funktioniert
  • .NET Core Dapper-Implementierungsmethode zum Betreiben einer MySQL-Datenbank

<<:  Eine detaillierte Einführung in die drei Installationsmethoden von RPM, Yum und Quellcode unter Linux

>>:  Zusammenfassung praktischer Fähigkeiten, die häufig in Vue-Projekten verwendet werden

Artikel empfehlen

So stellen Sie eine Verbindung zum MySQL-Visualisierungstool Navicat her

Nach der Installation von Navicat Der folgende Fe...

Zeichnen Sie ein Herz mit CSS3

Ergebnisse erzielenAnforderungen/Funktionalität: ...

Zabbix implementiert die Überwachung mehrerer MySQL-Prozesse

Auf einem Server werden drei MySQL-Instanzprozess...

So überprüfen Sie die Festplattennutzung unter Linux

1. Verwenden Sie den Befehl df, um die gesamte Fe...

Beheben Sie den abnormalen Fehler beim Erstellen einer Vue-Umgebung mit Webpack

Inhaltsverzeichnis Konfigurieren Sie zuerst packa...

Upgrade der Docker-Version von MySQL 5.7 auf MySQL 8.0.13, Datenmigration

Inhaltsverzeichnis 1. Sichern Sie die alten MySQL...

Vue implementiert einen Login-Verifizierungscode

In diesem Artikelbeispiel wird der spezifische Co...

So verwenden Sie „union all“ in MySQL, um die Union-Sortierung zu erhalten

Manchmal kommt es in einem Projekt aus irreversib...

Docker-Image-Optimierung (von 1,16 GB auf 22,4 MB)

Inhaltsverzeichnis Der erste Schritt der Optimier...

Linux-Tutorial zum Ersetzen von Zeichenfolgen mit dem Befehl sed

Um eine Zeichenfolge zu ersetzen, müssen wir das ...

Mysql SQL-Anweisungsvorgang zum Hinzufügen oder Ändern des Primärschlüssels

Tabellenfelder hinzufügen alter table table1 add ...

Implementierung eines Nginx-Load-Balancing-Clusters

(1) Experimentelle Umgebung youxi1 192.168.5.101 ...