sql >> Databasteknik >  >> RDS >> Mysql

SQL Välj sats med WHERE, AND, OR

Enligt Operatorprecedence för MySQL AND har högre prioritet än OR .

AlltsåC1 AND C2 OR C3 kommer att behandlas som (C1 AND C2) OR C3

För att åsidosätta standardprioritet måste du använda parentes som:C1 AND (C2 OR C3)

I ditt fall är den rätta frågan:

SELECT name, sex, fur, color 
FROM dogs 
WHERE sex='male' AND fur='short' AND (color='black' OR size="big");


  1. MySQL:Kan inte ge tabeller ett namn i Upper Camel Case (Pascal Case)

  2. Att försöka exportera ett Oracle via PL/SQL ger ett datum på 0000-00-00

  3. Laravel vältalig uppdaterar inte JSON-kolumnen:Konvertering av array till sträng

  4. Mätning av frågeprestanda:Exekveringsplan för frågekostnad kontra tid