Heim >Datenbank >MySQL-Tutorial >Wie geht MySQL mit OR- und AND-Operatoren in Abfragen um?

Wie geht MySQL mit OR- und AND-Operatoren in Abfragen um?

Barbara Streisand
Barbara StreisandOriginal
2024-12-12 14:24:12657Durchsuche

How Does MySQL Handle OR and AND Operators in Queries?

MySQL OR/AND-Rangfolge

Das Verständnis der Operatorpriorität ist bei der Erstellung von MySQL-Abfragen von entscheidender Bedeutung. Im bereitgestellten Beispiel wollten Sie Zeilen auswählen, in denen display = 1 oder 2 ist und in denen Inhalte, Tags oder Titel „Hallo Welt“ enthalten.

Laut MySQL-Dokumentation die Priorität der logischen Operatoren ist wie folgt:

  • Höchste: !, ~
  • AND
  • OR
  • = (Vergleich), IN, BETWEEN, LIKE, REGEXP
  • Niedrigste: Zuweisung, :=

Daher wird die von Ihnen eingegebene Abfrage interpretiert als:

(display = 1) OR (
    (display = 2)
    AND (content like "%hello world%")
)
OR (tags like "%hello world%")
OR (title like "%hello world%")

Um sicherzustellen, dass Ihre Absichten klar sind, sollten Sie die explizite Verwendung von Klammern in Betracht ziehen, insbesondere beim Umgang mit komplexen Ausdrücken. Eine explizitere Version der Abfrage könnte wie folgt aussehen:

(
    (display = 1)
    OR (display = 2)
)
AND (
    (content like "%hello world%")
    OR (tags like "%hello world%")
    OR (title like "%hello world%")
)

Dadurch ist eindeutig, dass die OR- und AND-Operatoren wie vorgesehen gelten.

Das obige ist der detaillierte Inhalt vonWie geht MySQL mit OR- und AND-Operatoren in Abfragen um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn