sql >> Databasteknik >  >> RDS >> Mysql

Vad är den semantiska skillnaden mellan WHERE och HAVING?

HAVING fungerar på den sammanfattade raden - WHERE fungerar på hela tabellen före GROUP BY tillämpas. (Du kan inte lägga till GROUP BY åt sidan, HAVING är en klausul som är reserverad för användning med GROUP BY - utelämna GROUP BY ändrar inte den implicita handlingen som sker bakom kulisserna).

Det är också viktigt att notera att på grund av detta, WHERE kan använda ett index medan HAVING kan inte. (I supertriviala ogrupperade resultatuppsättningar kan du teoretiskt använda ett index för att HAVING , men jag har aldrig sett en frågeoptimerare faktiskt implementerad på detta sätt).



  1. Hur visar man mysql blob-bild i asp.net bildkontroll?

  2. Om villkorligt i SQL Script för Mysql

  3. Passera nummer som ett kolumnnamn i select-satsen i SQL

  4. varför ger detta mig fel kundnummer?